Django之Form以及modelform验证初识(验证篇一)
上一篇:Django之model操作ORM目录篇 点击跳转
目录篇:Django之Form及ModelForm目录篇 点击跳转
下一篇:Django之Form验证初阶实战示例(验证篇二) 点击跳转
目录
分析前端提交数据后到后端的验证流程
1.前端对用户提交的数据进行验证(js验证)
a.错误信息的提示
b保留上次提交的数据(如:验证错误以后,用户输入的用户名是需要进行保留)
2.后端对用户提交的数据进行验证 (自定义验证,model自身验证,使用django的form验证,使用django的modelform验证)
a.错误信息的提示
b.保留上次提交的数据(如:验证错误以后,用户输入的用户名是需要进行保留)
问题1:具体验证什么?
如:用户输入长度限制、手机号输入不能空、输入格式问题、登录密码输入不能为空、最小长度、确认密码输入不一致啊、验证码不能为空 等等等........
问题2:为什么前端验证了后端还需要进行验证
a 表单验证作用:减少服务器压力
b 因为遇见懂技术的,把浏览器的js禁掉,前端的js验证自然就失效,如果后端没有验证就...
暂且撇开自定义验证分析三种验证的区别:
1.Model 强大的数据库操作,弱小的数据验证(model自带full_clean方法验证方法)
2.Form 强大的数据验证
3.ModelForm 强大的数据验证,适中的数据库操作(耦合度高)
一般情况我们使用Model+From验证:可扩展性
当然我们也可以使用MdelForm:节省操作时间,但是耦合度高,扩展性差,一般小程序使用
Django的Form具备几大功能
1.生成HTML标签
2.验证用户数据(显示错误信息)
3.HTML Form提交保留上次提交数据
4.初始化页面显示内容
Django的Form的验证流程
a. 用户提交数据的验证
1、创建模板(继承Django的froms.Form父类的子类: class LoginForm(formds.Form)...)
2、将前端提交的数据请求交给模板,(obj = LoginForm(request.POST))
get:返回给前端Form生成的标签进行应用,当然我们也可以不使用Form生成的标签
post:把提交的数据交给实例化form的对象,这样才可以进行验证
3、进行验证 obj.is_valid() (True代表验证通过,False代表验证不通过)
4、 clean3个钩子: (可用于定制操作,验证可能没有问题,但是保存数据到数据库就可能有问题,这个时候我们就可以进行定制操作)
5、取正确信息 obj.clean() or obj.cleaned_data (对正确的数据进行具体操作:如存入数据库,然后进行响应)
6、取错误信息:标签格式 obj.errors 字典格式obj.errors.as_json()(取错误信息返回给前端
b.错误信息的提示
Form提交,属性页面的特性,模板对象内部值丰富,再显示时,值和错误信息都有
c.保留上一次提交数据
1、自动生成html标签
2、保留上一次提交的数据
注:Form使用:a b c结合
Ajax使用:a ,Ajax使用django的form验证有两种错误返回应用:as_json or as_data
上一篇:Django之model操作ORM目录篇 点击跳转
目录篇:Django之Form及ModelForm目录篇 点击跳转
下一篇:Django之Form验证初阶实战示例(验证篇二) 点击跳转
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证...
- 四【用django2.0来开发】后台会员管理(二) ModelForm表单的使用方法以及数据验证...
- 使用Django的ModelForm对表单进行自动验证(可自定义验证规则)
- Django之ModelForm验证
- django之modelform验证实战示例演示(验证篇七)
- Django之Form及ModelForm操作汇总(验证篇八)
- django(7)modelform操作及验证、ajax操作普通表单数据提交、文件上传、富文本框基本使用
- django中ModelForm save方法 以及快速生成空表单或包含数据的表单 包含错误信息
- django admin ModelForm field 验证
- Django 之form参数验证
- django进阶-modelform&admin action
- 关于django form验证是否用户名已存在
- Django---ModelForm详解
- Django(5) session登录注销、csrf及中间件自定义、django Form表单验证(非常好用)
- Django之Form验证select的choice选项数据从数据库实时调用(验证篇五)
- django form表单验证
- django的form验证机制
- Struts中在使用DispatchAction时使用多个input,以及屏蔽不需要进行Form验证的方法
- Django之ModelForm组件