Как сервер 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.