django项目表单校验

安稳与你 提交于 2020-01-26 21:09:56

django项目表单校验

校验通常使用用来对用户输入和输入规范的比较。form表单提供给开发者和使用者更好的交互体验。但是往往用户提交的内容并不让人满意,所以需要校验来限制form表单提交内容的格式和内容。基于实现的原理,我们把校验分为:

  • 前端校验:写在html上,用来对前端input进行校验,编写简单,直观。但是如果有一定技术的用户绕过页面进行提交,就容易发生问题。
  • 后端校验:写在视图函数保存数据的部分,在保存数据到数据库或者对数据进行判断之前,进行校验,这样校验,比较复杂,但是安全程度高,大部分前后端校验都有。

前端校验

form表单校验onsubmit的值是true还是false
在这里插入图片描述
js当中定义对应的函数进行判断
在这里插入图片描述

后端校验

django为开发者提供了完整的后端校验模块,这个模块叫forms类。
form表单定义步骤:

  1. 创建forms文件(在app下)
    在这里插入图片描述
  2. 编写form类
    在这里插入图片描述
  3. 在视图当中调用form类
    在这里插入图片描述
  4. 在前端使用form类
    在这里插入图片描述
    注意 :
    form表单提供了html代码,但是需要保证html的灵活性
    form表单类不会生成form标签获取其他父级标签(ul,table),
    同样不会生成提交按钮,所以在使用form类生成html的时候需要如下写
    在这里插入图片描述

form表单字段属性

在这里插入图片描述

  1. widget
    在这里插入图片描述
  2. error_messages
    在这里插入图片描述

校验的流程:

1、创建表单实例
2、将请求数据出入表单实例
3、发起校验
4、获取校验过的数据获取错误

在这里插入图片描述
form类的作用,集中体现在校验方向上,所以我们通常使用前端定义好的表单,只是在后端放入form类做校验。
在这里插入图片描述

form表单携带的Validator校验

在这里插入图片描述

自定义校验

在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!