Получите доступ к глобальному прокси-серверу g при создании приложения с использованием фабрики во Flask - PullRequest
0 голосов
/ 25 февраля 2019

В режиме отладки я хочу добавить дескриптор на memcached сервер в g.Хорошее место для этого - метод фабричного создания (create_app в учебнике ).

Однако доступ к g приводит к RuntimeError: Working outside of application context.Я мог зарегистрировать метод, используя Flask.before_request, но я не хочу, чтобы проверка на режим DEBUG выполнялась при каждом подключении пользователя.

Из того, что я прочитал ,Кажется, что каждый запрос получает свой собственный экземпляр контекста, а вместе с ним и собственный g.Есть ли другой способ сохранить данные для каждого приложения для использования таким образом?

1 Ответ

0 голосов
/ 25 февраля 2019
from flask import Flask
from flask import current_app


def create_app():
    app = Flask(__name__)
    # set your function
    setattr(app, 'my_func', 'function')
    return app


app = create_app()


@app.route('/')
def index():
    return getattr(current_app, 'my_func')


if __name__ == '__main__':
    app.run()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...