django.po,django order by
学习笔记,仅供参考。
例如,目录表单验证
表单验证
提供了表单和字段验证。我们可以使用form.is_valid()方法来验证表单。如果此方法的返回值为True,则表示当前表单是合法的。如果返回值为假,说明表单验证有问题。
立正!这里,下面的表格指的是表格的对象。表单类。
例如
基于上一篇博客中的mywebsite_bookstore项目,我们举一个例子来学习表单验证。
如果我们不进行表单验证操作,那么,我们注册的时候,姓名可以填写任意格式和长度的数据,这显然不符合一般的填写要求,也不方便我们办理:
为了让用户规范的填写注册信息,我们需要对表格进行验证,即不按照规范填写信息,注册就不成功。
在userinfo应用程序下的views.py模块中,我们修改了视图函数test_form,增加了一个表单验证函数:
定义测试表单(请求):
if request.method==GET :
myform=forms。RegForm()
#创建一个对象
return render(request, userinfo/test_form.html ,
locals())
elif request.method==POST :
myform=forms。RegForm(请求。帖子)
if myform.is_valid():
#检查表单中的数据是否合法。
打印(myform.cleaned_data)
#输出表单类中所有属性值的字典
返回HttpResponse( h2表单提交成功!/h2 br str(myform.cleaned_data))
否则:
返回HttpResponse( h2表单数据验证失败!/H2’)注意!如果希望myform.is_valid()方法返回True,需要以下三个条件同时验证成功:
验证forms.xxxField()方法中的参数值,如果验证成功,则返回None如果验证失败,它将抛出表单。ValidationError异常来验证form.clean_ attribute name (self)方法中的属性,如果验证成功,将返回属性值。表格。验证失败时会引发ValidationError异常。验证form.clean(self)方法(表单的整体结构)。验证成功时返回self.cleaned_data,表单。验证失败时会引发ValidationError异常。
现在,我们编辑forms.py并添加两种验证方法:
# -*-编码:utf-8 -*-
从django进口表格
类RegForm(forms。表单):
username=forms . charfield(label=输入昵称)
password=forms . charfield(label=输入密码,
小部件=表单。密码输入)
password repeat=forms . charfield(label=再次输入密码,
小部件=表单。密码输入)
Tele=表单。CharField(label=手机号码,必填=False)
电子邮件=表单。CharField(label= mailbox ,required=False,
小部件=表单。电子邮件输入)
#输入类型=文本
def clean_username(自己):
#检查单个属性。
username=self . cleaned _ data[ username ]
if (len(用户名)6) (len(用户名)12):
提高表格。ValidationError(用户名必须在6到12个字符之间!)
返回用户名
def clean(自我):
#属性之间的检查(整体检查)
pwd 1=self . cleaned _ data[ password ]
pwd 2=self . cleaned _ data[ password repeat ]
如果pwd1!=pwd2:
提高表格。ValidationError(两个输入不一致!)
Return.cleaned _ data注意views.py模块中test_form视图方法中的is_valid()方法会自动调用clean_username函数和clean函数。
我们向http://127 . 0 . 0 . 1:8000/userinfo/test _ form/发起请求,填写符合要求的注册信息:
单击“注册”以显示表单已成功提交:
当我们填写的用户名大于12个字符时,再次点击注册,Django会提示我们验证失败:
转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。