Задать вопрос

Почему CSRF session token is missing во Flask WTF?

Есть простейший класс формы 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.
  • Вопрос задан
  • 409 просмотров
Подписаться 2 Простой 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы