Самая простая кнопка не работает

У меня есть действительно простая кнопка отправки в HTML, но она не работает.

main_page.html

<form class="main_page" method="POST" action=".">
    <div class="form-row">
         <input type="submit" name="invoer" value="Invoeren"/>
    </div>
</form>

flask_app.py

from flask import Flask, render_template, request

app = Flask(__name__)
app.config["DEBUG"] = True

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

def main():
    if request.method == "GET":
        return render_template("main_page.html")

    if request.form["invoer"] == "POST":
        return render_template("main_page.html")

Когда я нажимаю на кнопку, она показывает мне это:

-------------------------------------------------- -------------------------------------------------- -------------------------------- https://i.gyazo.com/65bb8c9fa02d007a8ed8d3d465412e4f.png


Я уже сделал кнопку, как это раньше, но потом это сработало, может быть, я сделал что-то другое. Что я должен делать?

1 ответ

Решение

Ошибка показывает, что ValueError: View function did not return a response, это означает, что ваш POST не вернул никакого ответа на шаблон, когда вы нажали кнопку отправки в HTML. Шагни свой код flask_app.py чтобы:

from flask import Flask, render_template, request

app = Flask(__name__)
app.config["DEBUG"] = True

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

def main():
    if request.method == "GET":
        return render_template("main_page.html")

    if request.method == "POST": # change code here
        return render_template("main_page.html")

Это заставит его работать, однако он вернет точно такой же шаблон.

Другие вопросы по тегам