添加自定义 CSS 类
内置表单很棒但有时需要自定义它们,添加新字段或只是更改 CSS 属性。
此示例适用于多个用例,但此处介绍了 PasswordChangeForm 及其在 Bootstrap 网站中的使用。
解决方案是创建另一个表单,使用 PasswordChangeForm
更新 Widget :
class PasswordChangeCustomForm(PasswordChangeForm):
def __init__(self, user, *args, **kwargs):
super(PasswordChangeCustomForm, self).__init__(user,*args, **kwargs)
for field in self.fields:
self.fields[field].widget.attrs['class'] = 'form-control'
如果你只是假装更改某些字段,则可以执行以下操作:
class PasswordChangeCustomForm(PasswordChangeForm):
def __init__(self, user, *args, **kwargs):
super(PasswordChangeCustomForm, self).__init__(user, *args, **kwargs)
self.fields['old_password'].widget.attrs.update({'class': 'form-control'})
self.fields['new_password1'].widget.attrs.update({'class': 'form-control'})
self.fields['new_password2'].widget.attrs.update({'class': 'form-control'})
注意:所有引导表单都需要 form-control
类才能保持网站的外观。