Auth组件,Forms组件
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:50
class CheckForm(forms.Form):
# 校验需求:账号不能以数字开头<br/>
usr = forms.CharField(min_length=3, max_length=10, label="账号:",<br/>
error_messages={<br/>
'required': "必填项",<br/>
'min_length': "最少3",<br/>
'max_length': "最多10"<br/>
})<br/>
pwd = forms.CharField(min_length=3, max_length=10, label="密码:",<br/>
error_messages={<br/>
'required': "必填项",<br/>
'min_length': "最少3",<br/>
'max_length': "最多10"<br/>
},<br/>
widget=forms.PasswordInput(attrs={<br/>
'class': 'pwd',<br/>
'placeholder': '请输入密码'<br/>
})<br/>
)<br/>
re_pwd = forms.CharField(min_length=3, max_length=10, label="确认:",<br/>
error_messages={<br/>
'required': "必填项",<br/>
'min_length': "最少3",<br/>
'max_length': "最多10"<br/>
},<br/>
widget=forms.PasswordInput)<br/>
email = forms.EmailField(label="邮箱:",<br/>
error_messages={<br/>
'invalid': "格式不正确",<br/>
'required': "必填项"<br/>
}<br/>
)
局部钩子:对usr进行局部钩子的校验,该方法会在usr属性校验通过后,系统调用该方法继续校验
def clean_usr(self):<br/>
cleaned_usr = self.cleaned_data.get('usr', None) # type: str<br/>
# 通过正则匹配不能以数字开头<br/>
import re<br/>
if re.match('^[0-9]', cleaned_usr):<br/>
from django.core.exceptions import ValidationError<br/>
raise ValidationError('不能以数字开头')<br/>
return cleaned_usr
全局钩子:代表校验类中的所有属性校验通过后,系统调用该方法继续校验
def clean(self):<br/>
cleaned_pwd = self.cleaned_data.get('pwd', None)<br/>
cleaned_re_pwd = self.cleaned_data.get('re_pwd', None)<br/>
if cleaned_pwd != cleaned_re_pwd:<br/>
from django.core.exceptions import ValidationError<br/>
raise ValidationError('两次密码不一致')<br/>
return self.cleaned_data
def register(request):
if request.method == "GET":<br/>
check_form = CheckForm()<br/>
if request.method == "POST":<br/>
check_form = CheckForm(request.POST)<br/>
if check_form.is_valid():<br/>
return HttpResponse('注册成功')<br/>
else:<br/>
print(check_form.errors.as_data)<br/>
all_error = check_form.errors.get('__all__')<br/>
return render(request, 'register.html', locals())
相关文章
-
Autowired注入Service变成了biaomidou的Mapper代理
Autowired注入Service变成了biaomidou的Mapper代理
- 互联网
- 2026年04月04日
-
avascript中的this与函数讲解
avascript中的this与函数讲解
- 互联网
- 2026年04月04日
-
awk设置输出分隔符
awk设置输出分隔符
- 互联网
- 2026年04月04日
-
auth模块用户认证
auth模块用户认证
- 互联网
- 2026年04月04日
-
auth模块一些方法
auth模块一些方法
- 互联网
- 2026年04月04日
-
Auth模块使用方法大全
Auth模块使用方法大全
- 互联网
- 2026年04月04日





