首页 > 解决方案 > Flask 框架使用 GET 而不是指定 POST 方法

问题描述

我正在尝试使用 post 方法通过表单在字典中添加数据。但它不起作用。表单正在使用 get 方法,但不是 post。我读了很多类似的帖子,但无法理解所以在这里发帖。请帮助我找到问题并解决它。

Python代码

@app.route('/add_card',methods=["GET","POST"])
def add_card():
    if request.method == "POST":
        card = {"question": request.form['question'],
                "answer": request.form['answer']}
        db.append(card)
        return redirect(url_for('card_view',index=len(db)-1))

    else:
        return render_template("add_card.html")

表格代码:

 <form methods=" POST">
        <p>
            Question:
            <input type="text" name="=question">
        </p>
        <p>
            Answer:
            <input type="text" name="'answer">
        </p>
        <button type="submit">
            Create
        </button>
    </form>

标签: pythonflask

解决方案


代替:

<form methods=" POST">

和:

<form method="POST">

你有一个额外的 s,使表单使用 GET 提交。

顺便说一句,如果你的应用中有很多表单,Flask-WTF可能会变得很方便。


推荐阅读