@kunjut19

Почему появляется «The session is unavailable because no secret key was set»?

Выпадает такая вот ошибка при попытке залогиниться
__init__.py
from flask import Flask
...
from flask_session import Session

app = Flask(__name__)

app.config['SECRET_KEY'] = 'gfgfgghghgfhgfhgfhgfhfgghghghghghg'
Session(app)


routes.py
from flask import render_template, session, url_for, redirect, request, Blueprint
...
from mywebsite.users.forms import (LoginForm, RegisterForm)
from mywebsite import db, bcrypt, app

users = Blueprint('users', "__name__")

@users.route('/login', methods=['GET', 'POST'])
def login():
	loginForm = LoginForm()
	if request.method == 'POST':
                # очищается, если уже хранит пользователя
		session.pop('user_id', None)


Когда я отбрасываю flask_session такой ошибки не появляется
  • Вопрос задан
  • 482 просмотра
Пригласить эксперта
Ответы на вопрос 1
@iddqda
network engineer, netdevops
Никода не использовал session. Использую обычно flask_login
но логика подсказывает, что session.pop() нужно делать не для login а для logout
даже комментарий намекает что тут выносят юзера, а не вносят
неаккуратно код скопипастили

Для логина наоборот необходимо юзера занести в session
наверное как то так:
if request.method == 'POST':
    session['user_id'] = request.form['username']
    return redirect(url_for('index'))
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы