django繼承form表單後重置屬性的方法
阿新 • • 發佈:2019-02-10
django的表單模型是一大亮點功能,有時多個表單存在相似的欄位,我們可以進行繼承複用,如果要在繼承後修改某些屬性,可以利用Python的super函式過載表單的初始化函式。
from django import forms class PasswordForm(forms.Form): password = forms.CharField(max_length=20, min_length=8, widget=forms.PasswordInput()) password.widget.attrs.update({'class': 'long-input'}) class PasswordHashForm(PasswordForm): hashkey = forms.CharField(widget=forms.HiddenInput, required=True) def __init__(self, *args, **kwargs): super(PasswordHashForm, self).__init__(*args, **kwargs) self.fields['password'].widget.attrs.update({'class': 'middle-input'})