https://www.cnblogs.com/liwenzhou/p/8747872.html

2. 今日内容
    1. form组件
        1. 需求分析
            1. 要有form标签                 ---> form组件可以生成HTML标签
            2. 对用户填写的数据做校验
                1. 前端做校验(能做就做)
                2. 后端做校验(必备)        ---> form组件可以帮我们做校验
            3. 校验失败要保留之前填写那一些内容    --> 保留之前填写的值

        优点:
            1.form 标签
            2.做校验
            3.保留错误信息


        2. 校验功能
            <ul class="errorlist">
                <li>username
                    <ul class="errorlist">
                        <li>This field is required.</li>
                    </ul>
                </li>
                <li>pwd
                    <ul class="errorlist">
                        <li>This field is required.</li>
                    </ul>
                </li>
            </ul>

        3. 源码剖析

            1. form_obj.is_valid()

                self.fields = {"username": username的校验规则, "pwd": pwd的校验规则...}
                        self._errors = ErrorDict()   # 用来放错误信息
                        self.cleaned_data = {}  # 用来放校验通过的数据
            2. 打断点!!!


            3. hooks 钩子函数...
笔记

相关文章: