from django.froms import ModelForm
classdepartform(ModelForm):classMeta:
model=models.UserInfo
fields="__all__"def__init__(self,*args,**kwargs):super().__init__(*args,**kwargs)for name,field in self.fields.items():#修改输入框信息if name =="密码":
field.widget=froms.PasswordInput(attrs={"class":"hello wolrd"})continue
field.widget.attrs={"class":"form-control","placeholder":field.label}
局部构子使用,From和ModelFrom
classfrom():classMeta:
model=models.UserInfo
fields="__all__"defclean_name(self):#获取id,前提是创建form表单的时候需要传入instance的值
pk=self.instance.pk
name=self.cleaned_data.get("name")if name =="zeng":return name
else:raise forms.ValidationError("该用户错误")
form表单 额外添加数据
form =userModelForm(data=request.POST,instance=reo_object)if form.is_valid():
form.instance.字段名=值 (form.instance.字段名 如果想要再用户输入以外增加一点值 默认保存的是用户输入的所有的数据)# 在views下异常处理form表单
form.add_error("字段名","显示字段异常的信息(自定义)")