我在一些例子中看过这段代码,但在提交表格时并不是这样。那是什么?
if 'submit' in request.POST:
# blah
答案 0 :(得分:2)
此检查的目的是告知表单是提交(POST)还是仅显示(GET) - 出于验证等原因,它通常是从相同的视图函数完成的,即使Pyramid允许为GET和POST请求注册一个单独的视图函数。
'submit'参数来自提交按钮的name
属性:
<form ...>
...
<input type="submit" name="submit" value="Save your changes" />
</form>
说实话,我不喜欢这种方法,因为它依赖于以一种相当模糊的方式发送一个无用的名称/值对(你感到困惑,对吗?)。
作为替代方案,您可以尝试以下方法:
if request.method == 'POST':
# save the data
else:
# simply display the form
答案 1 :(得分:0)
您可以使用
查看所有请求正文print request.params
#or just post request
print request.POST
如果您提交表格时不是真的,
确保您提出正确的请求(post
)或尝试在提交按钮上设置属性name=submit
。