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刚才创建的类里操作,首先导入插件widgetsform 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年03月30日 13时48分37秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Unity 5 AudioMixer
2019-04-27
Unity 代码混淆: CodeGuard的使用
2019-04-27
UGUI 列表循环使用
2019-04-27
使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)
2019-04-27
web.py框架
2019-04-27
web.py学习笔记
2019-04-27
python的代码缩进
2019-04-27
A* Pathfinding Project (Unity A*寻路插件) 使用教程
2019-04-27
bash学习笔记
2019-04-27
sqlite学习
2019-04-27
手把手教你实现Unity与Android的交互
2019-04-27
手把手教你使用Unity的Behavior Designer
2019-04-27
Unity3D摄像机裁剪——NGUI篇
2019-04-27
lua深拷贝一个table
2019-04-27
app运行提示Unable to Initialize Unity Engine
2019-04-27
spring boot 与 Ant Design of Vue 实现修改按钮(十七)
2019-04-27
spring boot 与 Ant Design of Vue 实现删除按钮(十八)
2019-04-27
spring boot 与 Ant Design of Vue 实现新增角色(二十)
2019-04-27
spring boot 与 Ant Design of Vue 实现修改角色(二十一)
2019-04-27