Django-08 forms组件

forms组件 

概念

  django框架提供的一个Form类,来进行web开发中的表单提交数据的处理工作。

校验字段功能

 models.py

  

     views.py

    定义检验规则:

    

    前端提交的forms校验

     

       form.is_valid() 判断form类所校验的字段是否通过,返回bool值,是所有检验的类都通过

       form.cleande_data 所有验证通过的数据放在这里 ,类似字典类型

       form.errors  所有验证错误数据放在这里 ,类似字典类型,这个方法,返回值是对象,你可以通过get取值

   regist.html

     

 循环标签方式

  views.py

    定义校验规则:比上面多了label属性,跟html中的form 作用是一样显示字段的名称

    

  

  regist.html

    

       

     浏览器渲染结果

      

       可以看到forms验证字段,浏览器会将他渲染成input标签显示到页面,label也渲染了

渲染input框 

  views.py

    这里给字段添加一个attr,

    

   网页显示:

      

渲染错误信息

 

  views.py

 

    

    regist.html

       

局部钩子        

    在校验字段定义钩子函数。以clean_字段命名,在源码,这个函数回自动执行

       作用:取出该字段,进行校验,如果通过,将该字段返回,如果失败,抛异常(ValidationError)

       

     
  • 校验失败,抛异常,将异常信息以 {'name':value} 写入 errors 字典中
  • 校验成功,把name返回到clean_data,写入clean_data字典中
  • 抛出异常的类型为ValidationError,from django.core.exceptions import ValidationError导入

 全局钩子

  

  • 校验失败,抛异常,将异常信息以{'__all__':[value,]} 写入 errors 字典中
  • 校验成功,返回clean_data字典
  • 抛出异常的类型为ValidationError,from django.core.exceptions import ValidationError导入
原文地址:https://www.cnblogs.com/sunny666/p/11626164.html