Как сервер flask проверяет форму даже после возврата самого html-файла?

@app.route("/register", methods=["GET", "POST"])
def register():
    form = Form()
    if form.validate_on_submit():
        pass

    
    return render_template("register.html", form=form)

В приведенном выше коде сначала идет оператор if, а затем возвращается форма. Как же после возврата формы оператор if продолжает проверять форму? В то время как после выполнения оператора return функция должна прекратить выполнение.

Убедитесь, что у вас есть метод "POST" в теге формы в html.

<form method="POST" action="/register">

    <!-- The internal part of form -->

</form>

Чтобы проверить, работает ли метод POST, вы можете

from flask import request

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

    if request.method == "POST":
        print('It is POST')
        if form.validate_on_submit():
             print('Form validated')

    return render_template("register.html", form=form)

Тогда, если вы получите на выходе "It is POST", а не "Form validated", то вам нужно проверить ваши validators в файле, где вы определили Register-Form.

Вернуться на верх