Django Form源码分析(3) - 课后作业

吴校长Python全栈课程 / 2023-07-29 / 原文

昨日课后作业(Form源码分析)

 

问题: 当浏览器请求方式为POST,form如何封装,封装后如何进行valid校验

 

答案:

1. 分析  form = LoginForm2(request.POST)

这行代码其实等于 form = LoginForm2(data = request.POST)
加上request.POST封装顺序不变不过会在BaseForm中多封装一个self.data

BaseForm中封装好了

self.data = Data
self.is_bound = True

实例化结束
form = LoginForm2(request.POST)

执行form的is_valid方法form.is_valid()

 没问题的时候会返回True