您的位置:首页 > 其它

Flask 使用重定向作为POST请求的响应

2017-04-29 10:57 309 查看
用户输入名字后提交表单,然后点击浏览器的刷新按钮,会看到一个莫名其妙警告:要求在再次提交表单之前进行确认。之所以出现这种情况,是因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求。如果这个请求是一个包含表单数据的 POST 请求,刷新页面后会再次提交表单。大多数情况下,这并不是理想的处理方式。
使用重定向作为 POST 请求的响应,而不是使用常规响应。
重定向是一种特殊的响应,响应内容是 URL,而不是包含 HTML 代码的字符串。
这个技巧称为 Post/ 重定向 /Get 模式

from flask import Flask, render_template, session, redirect, url_for
@app.route('/', methods=['GET', 'POST'])
def index():
form = NameForm()
if form.validate_on_submit():
session['name'] = form.name.data
return redirect(url_for('index'))
return render_template('index.html', form=form, name=session.get('name'))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐