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

Событие appcontext_popped

Событие appcontext_popped относится к сигналам Flask и срабатывает в момент, когда контекст приложения удаляется. Это происходит после завершения обработки запроса или при явном выходе из блока with app.app_context. Сигнал позволяет выполнить очистку ресурсов, связанных с контекстом приложения.

Событие не принимает обязательных параметров, кроме стандартного аргумента sender, который передаётся всем сигналам Flask. Через sender можно получить объект приложения, инициировавшего событие.

Синтаксис

from flask import appcontext_popped appcontext_popped.connect(receiver, sender=None)

Пример

Давайте подключим обработчик к событию appcontext_popped и выведем сообщение при удалении контекста приложения:

from flask import Flask, appcontext_popped app = Flask(__name__) def on_appcontext_popped(sender): print('app context popped') appcontext_popped.connect(on_appcontext_popped, app) with app.app_context(): pass

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

"app context popped"

Пример

Давайте посмотрим, как событие срабатывает после обработки запроса. Контекст приложения создаётся автоматически при запросе и удаляется по его завершении:

from flask import Flask, appcontext_popped app = Flask(__name__) def on_appcontext_popped(sender): print('context removed') appcontext_popped.connect(on_appcontext_popped, app) @app.route('/') def index(): return 'hello'

Результат выполнения кода при обращении к адресу /:

"context removed"

Пример

Давайте используем декоратор connected_to для подключения обработчика к событию appcontext_popped:

from flask import Flask, appcontext_popped app = Flask(__name__) @appcontext_popped.connect_via(app) def on_appcontext_popped(sender): print('popped via decorator') with app.app_context(): pass

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

"popped via decorator"

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

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