用户注册的view写法,forms.ModelForm
作者:互联网
用户注册的view写法,forms.ModelForm
# 在view中引入数据库,并在页面中展示出来的写法 from django import forms from django.core.validators import RegexValidator
# from django.core.exceptions import ValidationError
class 用户注册对象(forms.ModelForm):
# 重新对数据库字段格式写校验的规则
手机号 = forms.CharField(label="手机号",validators=[RegexValidator(r'^(1[3|4|5|6|7|8|9])\d{9}$','手机号输入错误'),])
密码 = forms.CharField(widget=forms.PasswordInput(),label="密码") #重新修改数据库的插件为密码
重复密码 = forms.CharField(widget=forms.PasswordInput(),label="重复密码")
验证码 =forms.CharField(label="验证码")
class Meta:
model = models.用户表
# fields = '__all__'
# 如果想让前端按照一定的顺序去展示,则需要把所有的字段按照展示的顺序写出来
fields = ["用户名", "邮箱", "密码", "重复密码", "手机号", "验证码"]
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for name, field in self.fields.items():
field.widget.attrs = {"class": "form-control", "placeholder": "请输入" + field.label}
# field.widget.attrs['class'] = "form-control" 仅仅加一个属性的写法 要注意这样写的话,每一个字段都要有lable属性
#can only concatenate str (not "NoneType") to str 否则会报这个错误 TypeError:只能将str(不是“NoneType”)连接到str
def 用户注册(request):
form = 用户注册对象()
return render(request,'user_add.html',{'form':form})
标签:__,form,用户注册,label,forms,密码,ModelForm 来源: https://www.cnblogs.com/tietiejiang/p/16227111.html