django的表单模型是一大亮点功能,有时多个表单存在相似的字段,我们可以进行继承复用,如果要在继承后修改某些属性,可以利用Python的super函数重载表单的初始化函数。
from django import formsclass 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'})