Я пытаюсь использовать Flask Чертежи, но кажется, что я не могу получить доступ к объекту сеанса в разных Чертежах.
В Чертеже Аутентификации у меня есть следующая функция:
@authentication_bp.route("/login", methods=["POST"])
def login():
# Get information about user and try to find him
username = request.get_json().get("username")
password = request.get_json().get("password")
user = User.find_by_username(username)
# Validate user
if not user or not user.verify_password(password):
error_log.error("Login failed!")
return jsonify(success=False, message="Incorrect username or password!"), 403 # forbidden
# Update session
session["LOGGED_IN"] = True
session["USERNAME"] = username
info_log.info("%s logged in successfully." % username)
return jsonify(success=True)
Так что, если пользователь успешно вошел в систему, сессия должна быть обновлена.
В main.py у меня есть функция checkLogin:
@app.route("/checkLogin")
def check_login():
print(session.get("LOGGED_IN"))
# Check if there is a user logged in
if session.get("LOGGED_IN"):
return jsonify(logged_in=True)
return jsonify(logged_in=False)
Я запускаю check_login () сразу после входа в систему (). Функция login () возвращает «success», но после этого print(session.get("LOGGED_IN"))
печатает None
, а не True
.
Ожидается ли такое поведение Blueprints и как я могу добиться того, чего хочу?
ПРИМЕЧАНИЕ: Я выписал Flask План Помещение что-то в сеанс , но это не ответило на вопрос для меня.
ПРИМЕЧАНИЕ: Я импортировал сеанс в оба файла и установил секретный ключ для приложения Flask.