Метод make_setup_state
Метод make_setup_state применяется к объекту
Blueprint и создаёт экземпляр класса
BlueprintSetupState. Этот объект хранит
информацию о параметрах регистрации blueprint:
префиксе URL, поддомене и опциях, переданных
при вызове register. Flask использует
состояние настройки для однократного выполнения
отложенных функций, зарегистрированных через
record и record_once.
Первым параметром передаётся приложение
app, к которому регистрируется blueprint.
Вторым параметром - словарь options
с опциями регистрации. Третьим - префикс
first_registration, который указывает,
выполняется ли регистрация впервые.
Синтаксис
bp.make_setup_state(app, options, first_registration)
Пример
Давайте создадим blueprint и получим объект состояния настройки:
from flask import Flask, Blueprint
app = Flask(__name__)
bp = Blueprint('bp', __name__)
state = bp.make_setup_state(app, {}, True)
print(state.app)
print(state.first_registration)
Результат выполнения кода:
"<Flask 'app'>"
"True"
Пример
Давайте используем состояние настройки для
добавления правил URL через метод
add_url_rule:
from flask import Flask, Blueprint
app = Flask(__name__)
bp = Blueprint('bp', __name__)
state = bp.make_setup_state(app, {}, True)
state.add_url_rule('/index', 'index', lambda: 'hello')
with app.test_request_context('/index'):
response = app.full_dispatch_request()
print(response.get_data(as_text=True))
Результат выполнения кода:
"hello"
Смотрите также
-
класс
Blueprint,
который создаёт группы маршрутов -
метод
record,
который откладывает выполнение функции до регистрации -
метод
record_once,
который выполняет функцию только при первой регистрации -
метод
register,
который регистрирует blueprint в приложении