基本格式
class form名字(forms.ModelForm):
password = forms.CharField( #自定义校验单独字段
label='密码',
min_length=8,
max_length=64,
error_messages={
'min_length':'密码长度最小不能小于8位',
'max_length':'密码长度不能大于64个字符'
},
widget=forms.PasswordInput())
class Meta:
models = models.user #连表
fields = ['字段1','字段2']
widgets = {
'字段':样式
}
def clean_字段(self): #局部校验
username = self.cleaned_data['username'] #获得校验后到username
return username
重写init方法
class BootStrapForm(object): #给所有字段加上特定bootstrap样式
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for name, field in self.fields.items(): # 在init里初始化时,给所有的字段加上属性,设置样式
field.widget.attrs['class'] = 'form-control'
field.widget.attrs['placeholder'] = '请输入%s' % (field.label,)
def __init__(self,request,*args,**kwargs): # 从写init方法,获得到views里的request
super().__init__(*args,**kwargs)
self.request = request