РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
561 of 643 menu

Событие appcontext_pushed

Событие appcontext_pushed относится к сигналам Flask и срабатывает в момент, когда контекст приложения помещается в стек. Это происходит при вызове app.app_context с последующим использованием менеджера контекста или при обработке запроса, когда Flask автоматически создаёт контекст приложения. Сигнал не принимает обязательных параметров, но подписчики могут получить доступ к объекту приложения через глобальный прокси current_app.

Синтаксис

from flask import appcontext_pushed appcontext_pushed.connect(receiver)

Пример

Давайте подпишемся на сигнал appcontext_pushed и выведем сообщение при каждом помещении контекста в стек:

from flask import Flask, appcontext_pushed, current_app app = Flask(__name__) def handler(sender, **extra): print('appcontext pushed:', sender.name) appcontext_pushed.connect(handler, app) with app.app_context(): print('inside context:', current_app.name)

Результат выполнения кода:

"appcontext pushed: app" "inside context: app"

Пример

Давайте сохраним данные в g при срабатывании сигнала, чтобы они были доступны внутри контекста приложения:

from flask import Flask, appcontext_pushed, g app = Flask(__name__) def set_user(sender, **extra): g.user = 'abcde' appcontext_pushed.connect(set_user, app) with app.app_context(): print(g.user)

Результат выполнения кода:

"abcde"

Смотрите также

  • событие appcontext_popped,
    которое срабатывает при извлечении контекста приложения из стека
  • событие appcontext_tearing_down,
    которое срабатывает при разрушении контекста приложения
  • метод connect,
    который подключает получателя к сигналу
  • класс Signal,
    который представляет собой объект сигнала
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить