我不太清楚提交表单时如何进行表单验证。调用index函数时,if form.validate_on_submit
最初将为false对吗?因此,它应该返回渲染的模板。但是只有对象' form
'传递给了呈现的模板,因此在返回呈现的模板之后,控件将如何流回到if语句?(if form.validate_on_submit
)
@app.route('/upload', methods=['GET', 'POST'])
def index():
if form.validate_on_submit():
blah blah blah I do something......
return redirect(url_for('index'))
return render_template('upload.html', form=form)
它不会直接返回。它将表单发送到浏览器,并完成此功能(并且它忘记了当前客户端-断开了该用户的连接)。当用户单击浏览器中表单中的按钮时,浏览器必须再次与服务器(烧瓶)连接,将/upload
带有表单的新请求发送到服务器(烧瓶),服务器(烧瓶)将表单作为新请求获取并index()
再次运行。然后它再次运行if form.validate_on_submit
。
也许如果您必须学习socket
并使用它从头开始构建服务器,那么您将了解它的工作原理:)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句