GET
和
POST
request.form
仅填写在
最初显示页面。
要求类型
在一个
if request.method == 'POST'
块处理后返回重定向
请求,否则返回呈现的模板。
from flask import url_for, redirect, render_template
@app.route('/addplayer', methods=['GET', 'POST'])
def addplayer():
if request.method == 'POST':
Post(
name=request.form['name'],
available=request.form['available']
).save()
return redirect(url_for('index'))
return render_template('addplayer.html')
由于您似乎正在使用Flask WTF,因此可以使用表单的
validate_on_submit
method
. 在这种情况下,您还可以通过表单实例访问数据,并使用表单为您呈现输入。
from flask import url_for, redirect, render_template
@app.route('/addplayer', methods=['GET', 'POST'])
def addplayer():
form = AddPlayerForm()
if form.validate_on_submit():
Post(
name=form.name.data,
available=form.available.data
).save()
return redirect(url_for('index'))
return render_template('addplayer.html', form=form)
<form method=post>
{{ form.hidden_tag() }}
{{ form.name.label}} {{ form.name }}<br>
{{ form.available.label }} {{ form.available }}<br>
<input type=submit value="Add Player">
</form>