一. 重定向和用户会话
WEB表单(一)最后部分,当我们提交表单后,点击浏览器的刷新按钮时,看到一个警告“再次提交表单之前进行确认”。这是因为刷新浏览器时会重新发送之前发送过的请求,如果前一个请求是包含表单数据的post请求,刷新界面后会再次提交表单。
鉴于此,最好别让WEB浏览器把POST请求作为浏览器发送的最后一个请求。此处,我们可以使用重定向作为POST请求的响应。重定向是一种特殊的响应,响应内容包含URL,而不是HTML代码的字符串。但需要注意的时,此时应用需要使用会话来保存输入的名字,这样重定向之后的请求才能获得并使用这个名字。
修改后的hello.py code:
from flask import Flask, render_template, session, redirect, url_for
from flask_wtf import FlaskForm
from flask_bootstrap import Bootstrap
from wtforms import SubmitField, StringField
from wtforms.validators import DataRequired
app = Flask(__name__)
bootstrap = Bootstrap(app)
# 配置Flaks-WTF
app.config['SECRET_KEY'] = "hard to guess string"
class NameForm(FlaskForm):
name = StringField("What's your name?", validators=[DataRequired()])
submit = SubmitFiel