Функция has_app_context
Функция has_app_context применяется для проверки наличия
активного контекста приложения. Она возвращает True,
если контекст приложения в данный момент активен, и False
в противном случае. Параметров функция не принимает.
Контекст приложения создаётся автоматически при обработке
запроса или при явном использовании метода push
объекта app.app_context. Функция полезна, когда нужно
узнать, можно ли безопасно обращаться к current_app
или другим объектам, зависящим от контекста приложения.
Синтаксис
has_app_context()
Пример
Давайте проверим наличие контекста приложения вне обработчика запроса:
from flask import Flask, has_app_context
app = Flask(__name__)
res = has_app_context()
print(res)
Результат выполнения кода:
False
Как видим, вне контекста приложения функция вернула
False.
Пример
Давайте проверим наличие контекста приложения внутри обработчика запроса:
from flask import Flask, has_app_context
app = Flask(__name__)
@app.route('/')
def index():
res = has_app_context()
return str(res)
Результат выполнения кода для адреса /:
True
Внутри обработчика запроса контекст приложения активен,
поэтому функция вернула True.
Пример
Давайте явно активируем контекст приложения с помощью
app.app_context и проверим результат:
from flask import Flask, has_app_context
app = Flask(__name__)
with app.app_context():
res = has_app_context()
print(res)
Результат выполнения кода:
True
После выхода из блока with контекст приложения
снова становится неактивным.
Смотрите также
-
класс
AppContext,
который представляет контекст приложения -
метод
push,
который активирует контекст приложения -
метод
pop,
который деактивирует контекст приложения -
функцию
has_request_context,
которая проверяет наличие контекста запроса