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

Метод shell_context_processor

Метод shell_context_processor применяется к приложению Flask и регистрирует функцию-обработчик, которая вызывается при запуске интерактивной оболочки через команду flask shell. Функция должна возвращать словарь, ключи которого становятся доступными как переменные внутри оболочки. Это удобно для того, чтобы не импортировать одни и те же объекты при каждом запуске оболочки.

Метод принимает один параметр - функцию-обработчик f. Обработчик не получает аргументов и должен вернуть словарь. Если зарегистрировано несколько обработчиков, их словари объединяются в один, при этом значения из более поздних обработчиков перезаписывают ранние.

Синтаксис

@app.shell_context_processor def func(): return dict

Пример

Давайте добавим в контекст оболочки переменную user и функцию hello:

from flask import Flask app = Flask(__name__) @app.shell_context_processor def make_shell_context(): return { 'user': 'abcde', 'hello': lambda: 'hello' }

Теперь при запуске оболочки переменные доступны без дополнительных импортов:

flask shell >>> user 'abcde' >>> hello() 'hello'

Пример

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

from flask import Flask app = Flask(__name__) @app.shell_context_processor def first_context(): return {'user': 'abcde'} @app.shell_context_processor def second_context(): return {'article': 'hello'}

В оболочке обе переменные доступны одновременно:

flask shell >>> user 'abcde' >>> article 'hello'

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

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