Python 表单背后的逻辑(request.POST或None)
Python 表单背后的逻辑(request.POST或None),python,django,Python,Django,request.POST或None背后的逻辑是什么?除了Django之外,我在Python项目中没有见过这样的东西 既然或运算符返回True或False值,那么如果request.POST不是None,表单知道它并将POST作为参数,这怎么可能呢 form = MyModelForm(request.POST or None) 事实上,如果请求,结果应该是Form(True)。POST不是None,否则Form(False) 它是如何工作的?在这种情况下使用或不会计算为True或False,而
request.POST或None背后的逻辑是什么?除了Django之外,我在Python项目中没有见过这样的东西
既然或运算符返回True或False值,那么如果request.POST
不是None
,表单知道它并将POST作为参数,这怎么可能呢
form = MyModelForm(request.POST or None)
事实上,如果请求,结果应该是Form(True)
。POST
不是None
,否则Form(False)
它是如何工作的?在这种情况下使用或不会计算为True
或False
,而是返回其中一个对象
请记住,或
是从左到右计算的
当QueryDictrequest.POST
为空时,它会接受一个错误的值,因此会选择或
操作的RHS上的项(即无
),并且表单初始化时没有普通参数(即使用无
):
否则,当request.POST
不为空时,将使用QueryDict初始化表单:
form = MyModelForm(request.POST)
这里有一个很好的解释:.表单是在没有参数的情况下初始化的
--不,它是用一个参数初始化的:None
@SuperSaiyan我假设None
不会被表单的\uuuuuu init\uuuuuu
以任何方式使用。但你是对的
form = MyModelForm(request.POST)