Django之form验证
发布日期:2022-03-02 13:23:46 浏览次数:34 分类:技术文章

本文共 1323 字,大约阅读时间需要 4 分钟。

form组件验证 

 ·定义规则(是一个类)
  ·前端把数据提交过来
  ·匹配规则
  ·判断提交过来的数据是否符合定义的规则
  ·如果匹配返回True,否则返回errors,可以把这个errors返回给前端,让前端显示到指定位置(比如用户名没填写,验证码没填写)

接下来我们一起来试一试,用form组件验证,1.首先我们创建好前端页面,然后编写views方法,这是我创建的前端提交页面在这里插入图片描述

2.在views下首先导入form验证组件,并创建类,里面添加想要验证的input框 前面的命名为在前端的name 必须一样否则获取不到
在这里插入图片描述
3.编写views方法,通过request.POST即可获取刚才类下的数据,当输入不正确时可以通过erros拿到错误信息,其余代码后面有解释,通过这样就利用form组件完成了一次简单的验证在这里插入图片描述前端显示错误信息
我们的错误信息在后端肯定没用,当然我们在获取了通过render传到前端,首先定义错误显示的信息在刚才创建的类上,字段括号后加error_messages={ required为当输入框为空时显示的错误,invalid为当格式出现错误时}
还可以设置输入的长度,首先定义好min或者max_length的值 再在error_messages中定义当触发该错误打印的信息在这里插入图片描述
在这里插入图片描述利用form组件生成输入框
来到前端页面,obj.errors则为获取到的错误信息.user.0则上图定义的required值
当一点提交按钮,就会触发post 如有错误信息 前端的obj.errors.user.0就会获取到信息
在这里插入图片描述
其实前端页面的input框也不用自己创建,可以通过后端传来的obj.user obj.pwd obj.email创建,前提是在form组件的类里定义了才行在这里插入图片描述在这里插入图片描述这样设置之后在前端页面有两种优势,注意:但是通过obj.user会自动添加指定的条件required max_length min_length 并将邮箱的type改为Email,我们可以在页面使用检查器,将此改回来,红线为form组件自己添加的去掉即可在这里插入图片描述
优势
一.输入的数值会保存,不会清空
在这里插入图片描述
二.当成功提交后,前面定义的views就会通过cleaned_data获取正确信息,并且是以字典的形式获取到,当我们这里是注册用户的话,将此字典通过models添加到数据库,即完成了数据的存储在这里插入图片描述
定义样式
当我们通过{
{obj.user}}的方式创建input框,我们怎么为该input框添加样式呢?
我们在views刚才创建的类里操作,首先导入插件widgets

form django.forms import widgets在括号内定义 自命名=widgets.type类型(attrs={
样式})class为c1的input框: widgets=widgets.TextInput(attrs={
'class':'c1'})

在这里插入图片描述

超方便的传值
先自定义字典,里面字段对应前端页面的name,再通过obj把字典传过去 initial则为默认值的意思 initial=字典,就会把定义的值传到对应name的属性,页面就会显示字典中传过来的默认值
在这里插入图片描述在这里插入图片描述

转载地址:https://blog.csdn.net/WOSHIBEIZHE/article/details/121015139 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Django之CSRF原理与中间件
下一篇:swift学习笔记一

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月30日 13时48分37秒