当前位置: 首页 > 面试题库 >

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

匡翰
2023-03-14
问题内容

我有一个包含多个链接的页面,可将用户重定向到其他页面。我以为使用表单会更好,所以我定义了一个Form带有Multiple的WTForms
SubmitFields。如何确定单击了哪个按钮并基于该按钮重定向

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>


 类似资料:
  • 我试图构建一个GUI,它有许多按钮(JButton)/下拉项(JMenuItem),当按下每个包含字母的按钮时,相关的字母将添加到标签中。 我无法识别按下了哪个按钮。你能给我一个关于如何做到这一点的提示吗?

  • 我知道以前可能有人问过这个问题,但我似乎找不到适合我情况的合理答案。 我有一个表单,表单中有多个提交按钮,我需要知道按下了哪个按钮。 表单内部的一个小代码段可能如下所示: fmt:消息部分只是考虑了客户端的语言并将单词放在按钮上。 到目前为止,我在submit按钮上添加了一个动作处理程序,并在表单上添加了一个隐藏的input元素,告诉我哪个按钮被按下了,但是我需要在不依赖javascript的情况

  • 问题内容: 我有一个带有两个提交按钮和一些代码的表单: HTML: JavaScript: 当然,这两个提交按钮完成不同的事情。有没有一种方法可以找出按下了哪个按钮,所以以后我可以这样做吗? 理想情况下,我不想修改按钮的代码,而只是具有这种行为的纯JavaScript插件。 我知道Firefox具有,但是我找不到其他浏览器的任何内容。 问题答案: 不在提交事件处理程序中,不。 但是您 可以 做的是

  • 问题内容: 我有4个调用一个功能的按钮。根据所按下的按钮,我需要将按钮隐藏在按下后调用的函数内部。我不知道按下了哪个按钮,因此我尝试为4个按钮中的每个按钮分配标签以通过标签识别它们并使用开关 我试过了 但这不起作用,编译器会说使用未解析的标识符“发送者” 如何正确做到这一点? 编辑: 整体功能 另一种情况。 问题答案: 试试这个, 1)为每个按钮分配标签 2)然后检查您的常用按钮动作

  • 我动态创建了按钮。 我知道用以下代码单击了哪个按钮; 然而,在这种情况下,我无法知道按钮的名称。因为按钮的名字可以是任何东西。我怎么知道按下了哪个按钮?提前感谢!

  • 我想知道在多个按钮的列表中按下了哪个按钮。例如,如果按下了第二个按钮,则代码会检测到按下第二个向下的按钮,并返回类似于 。但是,我不知道该怎么做。当我搜索时,jQuery参与其中,但我没有使用jQuery。代码如下: 我尝试使用EventListner,通过将EventListner添加到创建的每个按钮,但这并不能区分单个按钮。请注意,每个按钮都有一个id为和一个类。 如果有人能帮忙,谢谢!