Как я могу получить доступ к переменной глобально в flask - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь сохранить переменную глобально и получить доступ к ней в других частях моего приложения, она работает на моем локальном сервере, но возвращает ошибку TOKEN, не определенную при производстве

@app.route("/", methods=['POST', 'GET'])
def get_data():
   global Token
    if request.method == 'POST':
        token = request.form["x-token"]
        if is_valid(token):

            Token = token
            return render_template("index.html")

@app.route("/signip", methods=["POST"])
def save_data():
  customer_data = marketplace.resolve_customer(RegistrationToken=Token)

Что я могу сделать, чтобы сделать этот токен глобально доступным

1 Ответ

1 голос
/ 12 января 2020

В Flask у вас есть g (прочитайте об этом, и вы узнаете), что можно использовать для установки глобальной переменной. Но это основано на запросах. При каждом запросе g будет сбрасываться. Определяемая пользователем глобальная переменная токена также будет делать то же самое.

Так что если вы хотите что-то глобальное между запросами, тогда одно решение (хотя я не эксперт и не знаю, элегантно это или нет, может быть лучше элегантными решениями) это использовать переменную сессии. Поэтому, если вы сохраните в сеансе dict, он будет доступен в течение всего сеанса независимо от того, сколько запросов отправляется из ваших шаблонов.

Надеюсь, это решит вашу проблему.

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