如何解决表单背后的逻辑request.POST或无
采用or
在这种情况下,不计算为True
或False
,但回报的对象之一。
请记住,这or
是从左到右评估的。
当的QueryDictrequest.POST
是空的,它需要一个Falsy值,因此关于该项目 RHS
所述的or
操作被选择(即None
),并且形式而不初始化 香草 参数(即,None
):
form = MyModelForm()
否则,当request.POST
不为空时,使用QueryDict初始化表单:
form = MyModelForm(request.POST)
解决方法
背后的逻辑是request.POST or None
什么?除了Django,我在Python项目中从未见过这样的事情。
由于or
operator返回的是 True 或 False
值,如果request.POST
不是None
,则怎么可能Form
知道它并将post作为参数?
form = MyModelForm(request.POST or None)
实际上,结果应为Form(True)
if request.POST
not None
,否则为Form(False)
。
这个怎么运作?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。