JAVA网络爬虫
HttpClient

导航

 
  1. forms.ModelForm是forms.Form的升级版

  2. forms.Form验证规则
    2.1 forms.py

    在这里插入图片描述
    在这里插入图片描述
    2.2 view.py 把我们写的UserResetForm导入到view.py 在这里插入图片描述
    2.3 模板
    在这里插入图片描述

  3. forms.ModelForm验证规则
    3.1 models.py
    在这里插入图片描述
    3.2 forms.py就用上面模型类里面的验证规则
    在这里插入图片描述
    3.3 view.py
    在这里插入图片描述
    3.4 模板看你实际的情况

  4. forms.ModelForm远不止你看的这些功能, forms.ModelForm还能自定义匹配规则, 列手机号
    在这里插入图片描述
    记住自定义匹配规则方法都必须以clean_开头

  5. is_valid()验证规则

     (1)首先is_valid()起手,看seld.errors中是否值,只要有值就是flase
     (2)接着分析errors.里面判断_errors是都为空,如果为空返回self.full_clean(),否则返回self._errors
     (3)现在就要看full_clean(),是何方神圣了,里面设置_errors和cleaned_data这两个字典,一个存错误字段,一个存储正确字段。
     (4)在full_clean最后有一句self._clean_fields(),表示校验字段
     (5)在_clean_fields函数中开始循环校验每个字段,真正校验字段的是field.clean(value),怎么校验的不管
     (6)在_clean_fields中可以看到,会将字段分别添加到_errors和cleaned_data这两个字典中
     (7)结尾部分还设置了钩子,找clean_XX形式的,有就执行。执行错误信息也会添加到_errors中
     (8)整个校验过程完成 
    
  6. is_valid()在验证数据时判断多个字段不能同时相同

     列子:
     有6个input框, 下面的1, 2, 3, 4, 5, 6依次在这6个框中
     
     意思就是当你第一次提交的数据是1,2,3,4,5,6
     你第二次不能提交1,2,3,4,5,6这样会报错,因为
     你这次提交的数据跟上次提交的数据相同,你要是提
     交7,8,1,2,3,4都会提交上去,因为你有部分数据不
     同.
    
posted on 2019-07-05 18:36  gmlgxx  阅读(70)  评论(0)    收藏  举报