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

Класс ScriptInfo

Класс ScriptInfo относится к секции cmd и предназначен для хранения информации о скрипте, из которого было загружено приложение Flask. Экземпляр этого класса создаётся автоматически при запуске CLI-команды и передаётся в объект контекста click.Context как атрибут obj. Класс хранит путь к загруженному приложению, имя функции-фабрики и уже созданное приложение. Через атрибуты app_import_path, create_app и load_app можно получить доступ к этим данным.

Основное применение класса - внутри собственных CLI-команд, когда нужно получить объект приложения напрямую, не полагаясь на декоратор with_appcontext.

Синтаксис

from flask.cli import ScriptInfo info = ScriptInfo(app_import_path, create_app)

Первый параметр app_import_path задаёт путь до приложения в формате 'module:app'. Второй параметр create_app - это функция-фабрика, которая создаёт приложение.

Пример

Давайте создадим экземпляр класса ScriptInfo вручную и загрузим приложение через его метод load_app:

from flask import Flask from flask.cli import ScriptInfo def create_app(): app = Flask(__name__) return app info = ScriptInfo('app:create_app', create_app) app = info.load_app() print(app.name)

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

"app"

Пример

Давайте получим объект ScriptInfo внутри собственной CLI-команды через контекст click и выведем путь импорта приложения:

import click from flask import Flask from flask.cli import ScriptInfo app = Flask(__name__) @app.cli.command('info') @click.pass_context def info(ctx): script_info = ctx.obj click.echo(script_info.app_import_path) if __name__ == '__main__': app.run()

Запустим команду в терминале:

flask info

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

"app"

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

  • класс AppGroup,
    который группирует CLI-команды приложения
  • метод load_app,
    который загружает приложение из объекта ScriptInfo
  • декоратор with_appcontext,
    который помещает приложение в контекст команды
  • команду flask routes,
    которая выводит список маршрутов приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить