如何根据用户在flask中选择的按钮显示来自不同表的数据?

我有两个名为admin和user的表,如下所示。

table name: admin
name|id|password

table name: user
name|id|email|password

我的html文件中有两个按钮,分别为view userview admin。我想在单击admin时返回view admin表的所有内容,并在单击user时返回view user表的所有内容。

这是我的html文件的样子

<a href="{{ url_for('view_credentials')}}"> <input type="submit"  name="submit_button" value="View Admin">

<a href="{{ url_for('view_credentials')}}"> <input type="submit"   name="submit_button" value="View Tutor">

    {% for item in output %}
    <tr>
        <td>{{item[0]}}</td>
        <td>{{item[1]}}</td>
        <td>{{item[2]}}</td>
    </tr>
    {% endfor %}

这是我的python文件的样子


@app.route("/view_credentials",methods = ["POST","GET"])
def view_credentials():

    if request.method == "GET":
        if request.form['submit_button'] == 'View Admin':
            output = db.execute('SELECT * FROM admin').fetchall()
            return render_template("adminDashboard.html",output=output)
        elif request.form['submit_button'] == 'View Tutor':
            output = db.execute('SELECT * FROM login_signup_tutor').fetchall()
            return render_template("adminDashboard.html",output=output)

我收到此错误:HTTPException.wrap.<locals>.newcls: 400 Bad Request: KeyError: 'submit_button' 我是烧瓶的初学者,试图了解周围的事物。请让我知道我哪里出了问题以及应该如何解决。谢谢。

daodan_9 回答:如何根据用户在flask中选择的按钮显示来自不同表的数据?

请注意,使用request.form.get()代替request.form []。如果Submit_button不存在,则不会出现错误404。

将您的python文件更改为此:

@app.route("/view_credentials",methods = ["POST","GET"])
def view_credentials():

    if request.method == "GET":
        if request.form.get('submit_button') == 'View Admin':
            output = db.execute('SELECT * FROM admin').fetchall()
            return render_template("adminDashboard.html",output=output)
        elif request.form.get('submit_button') == 'View Tutor':
            output = db.execute('SELECT * FROM login_signup_tutor').fetchall()
            return render_template("adminDashboard.html",output=output)

此后,您没有获得request.form.get('submit_button')的值,然后将'submit_button'的值更改为'submit',并在route.py中进行类似的更改,例如:request.form。 get('submit')。

对我有用。

本文链接:https://www.f2er.com/3147720.html

大家都在问