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

Метод pop класса AppContext

Метод pop применяется к объекту контекста приложения AppContext и извлекает его из стека контекстов. Параметров метод не принимает. После вызова контекст перестаёт быть активным, и обращения к current_app или g вне других контекстов становятся невозможны.

Синтаксис

app_context.pop()

Пример

Давайте создадим контекст приложения, активируем его через push, а затем удалим через pop:

from flask import Flask app = Flask(__name__) ctx = app.app_context() ctx.push() print('active before pop') ctx.pop() print('active after pop')

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

"active before pop" "active after pop"

Пример

Давайте проверим, что после вызова pop контекст больше не активен, и обращение к current_app вызовет ошибку:

from flask import Flask, current_app app = Flask(__name__) ctx = app.app_context() ctx.push() print(current_app.name) ctx.pop() try: current_app.name except RuntimeError as e: print('error:', e)

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

"app" "error: Working outside of application context."

Пример

Давайте используем контекстный менеджер with, который автоматически вызывает push при входе и pop при выходе из блока:

from flask import Flask, current_app app = Flask(__name__) with app.app_context(): print('inside:', current_app.name) try: current_app.name except RuntimeError as e: print('outside:', e)

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

"inside: app" "outside: Working outside of application context."

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

  • класс AppContext,
    который представляет контекст приложения
  • метод push,
    который добавляет контекст приложения в стек
  • функцию has_app_context,
    которая проверяет наличие активного контекста приложения
  • класс RequestContext,
    который представляет контекст запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить