use*_*619 5 html python forms bottle
我有:
page1:提交表格
page2:验证并返回页面
现在,当我单击“后退”按钮时,它不会转到第1页,而是带有“确认表单重新提交”窗口。
我该如何预防?基于此答案,我认为这是推荐的方法:
这是论坛上的常用技术。Page1上的Form将数据发布到Page2,Page2处理数据并完成需要做的事情,然后对其进行HTTP重定向。这样,浏览器记住的最后一个“动作”是第2页上的简单GET,因此不会在F5上重新提交表单。
但是我很困惑。我应该在哪里附加重定向?我的page2看法如下:
@app.route('/StartPage',method='POST')
def test():
username = request.forms.get('username')
password = request.forms.get('password')
return template('StartPage',search_string=search_string,\
username=username, \
session_id=ses_id)
Run Code Online (Sandbox Code Playgroud)
要遵循POST-Redirect-GET模式,您的POST路由不应返回模板。
如果它可以成功处理表单数据,那么它应该随后 重定向到某种成功/下一页。
如果存在验证错误,它应该重定向回表单,可能会在查询字符串中包含错误详细信息。