Django中form组件的is_valid校验机制

Django中form组件的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)整个校验过程完成

https://www.cnblogs.com/wangjian941118/p/10489007.html

posted @ 2022-09-15 22:59  张张包~  阅读(93)  评论(0编辑  收藏  举报