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

Переменная current_app

Переменная current_app хранит прокси на текущее приложение Flask. Она приходит из модуля flask и позволяет обращаться к атрибутам и методам приложения без его прямого импорта. Это особенно удобно внутри фабрик приложений, blueprints и обработчиков запросов, где объект app недоступен напрямую. Параметров у переменной нет, она возвращает объект приложения Flask.

Синтаксис

from flask import current_app

Пример

Давайте получим доступ к конфигурации приложения через current_app:

from flask import Flask, current_app app = Flask(__name__) app.config['SECRET_KEY'] = 'abcde' @app.route('/') def index(): res = current_app.config['SECRET_KEY'] return res

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

abcde

Пример

Давайте обратимся к имени приложения через current_app внутри функции-обработчика:

from flask import Flask, current_app app = Flask(__name__) @app.route('/') def index(): res = current_app.name return res

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

app

Пример

Давайте используем current_app внутри фабрики приложения, где объект app ещё не доступен напрямую:

from flask import Flask, current_app def create_app(): app = Flask(__name__) app.config['SITE_NAME'] = 'hello' @app.route('/') def index(): res = current_app.config['SITE_NAME'] return res return app app = create_app()

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

hello

Пример

Давайте откроем контекст приложения вручную и обратимся к current_app вне обработчика запроса:

from flask import Flask, current_app app = Flask(__name__) app.config['DEBUG'] = True with app.app_context(): res = current_app.config['DEBUG'] print(res)

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

True

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

  • класс Flask,
    который создаёт объект приложения
  • метод app_context,
    который открывает контекст приложения
  • атрибут config,
    который хранит настройки приложения
  • атрибут name,
    который хранит имя приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить