Как инициализировать сеанс в Flask? - PullRequest
0 голосов
/ 20 февраля 2020

При любом входящем соединении, поэтому при каждом подключении нового компьютера или браузера и создании нового сеанса Cooking ie я хочу инициализировать пару переменных сеанса. Если я делаю это:

session["authorized"] = False
session["client_id"] = None
session["client_secret"] = None
session["go_id"] = None
session["test_mode"] = None

вне декоратора функции, я получаю эту ошибку:

RuntimeError: Working outside of request context.

This typically means that you attempted to use functionality that needed
an active HTTP request.  Consult the documentation on testing for
information about how to avoid this problem.

Если я использую декоратор app.before_first_request, он запускает инициализацию только один раз для самое первое соединение / сеанс, но если я соединяюсь с другим браузером, инициализация не происходит. Это выглядит так:

@instance.before_first_request
def initialize():
    session["authorized"] = False
    session["client_id"] = None
    session["client_secret"] = None
    session["go_id"] = None
    session["test_mode"] = None

Если вместо этого я использую before_request, инициализация происходит при каждом запросе, и переменные всегда переопределяются.

Как я могу инициализировать каждый отдельный сеанс, но только один раз?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...