编程语言
首页 > 编程语言> > python – 确定在Flask视图中按下了哪个WTForms按钮

python – 确定在Flask视图中按下了哪个WTForms按钮

作者:互联网

我有一个包含多个链接的页面,可以将用户重定向到不同的页面.我认为使用表单会更好,所以我定义了一个带有多个SubmitFields的WTForms表单.如何确定单击了哪个按钮并根据该按钮进行重定向?

class MainForm(Form):
    user_stats = SubmitField('User Stats')
    room_stats = SubmitField('Room Stats')

@main.route('/')
@login_required
def index():
    form = MainForm()    
    return render_template('index.html', form=form)
<form action="#" method="post">
    {{ wtf.quick_form(form) }}
</form>

解决方法:

您在表单中添加了两个按钮,因此请检查哪些字段的数据为True.

from flask import Flask, render_template, redirect, url_for
from flask_wtf import Form
from wtforms import SubmitField

app = Flask(__name__)
app.secret_key = 'davidism'

class StatsForm(Form):
    user_stats = SubmitField()
    room_stats = SubmitField()

@app.route('/stats', methods=['GET', 'POST'])
def stats():
    form = StatsForm()

    if form.validate_on_submit():
        if form.user_stats.data:
            return redirect(url_for('user_stats'))
        elif form.room_stats.data:
            return redirect(url_for('room_stats'))

    return render_template('stats.html', form=form)

app.run(debug=True)
<form method="post">
    {{ form.hidden_tag() }}
    {{ form.user_stats }}
    {{ form.room_stats }}
</form>

标签:flask-wtforms,wtforms,python,flask
来源: https://codeday.me/bug/20190927/1823085.html