Есть простейший класс формы WTF:
class LoginForm()
class LoginForm(FlaskForm):
email = StringField("Email: ", validators=[Email()])
password = PasswordField("Password: ", validators=[DataRequired(), Length(min=4, max=100)])
submit = SubmitField("Войти")
Есть сама форма:
HTML Form
<form action="/accounting" method="POST">
{{ form.csrf_token }}
{{ form.email.label() }} {{ form.email() }}
{{ form.password.label() }} {{ form.password() }}
{{ form.submit() }}
</form>
В HTML форму пробовал указывать
{{ form.hidden_tag() }}
И есть функция:
def login()@app.route('/login', methods=['POST', 'GET'])
def login():
if current_user.is_authenticated:
return redirect('/accounting')
form = LoginForm()
if form.validate_on_submit():
email = request.form['email']
user = UserModel.query.filter_by(email=email).first()
if user is not None and user.check_password(request.form['password']):
login_user(user)
return redirect('/accounting')
return render_template('login.html', form=form)
Не смог найти ответ в интернете, подходящий под мой случай, поэтому задаю здесь.
Почему при отправке формы появляется ошибка?
Bad Request
The CSRF session token is missing.
Грешил на nginx, но такая же ошибка появляется и на локальном компьютере при запуске программы в PyCharm.