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

Атрибут name

Атрибут name класса Blueprint содержит строку с именем чертежа. Имя передаётся первым параметром при создании экземпляра класса и в дальнейшем используется Flask для регистрации чертежа в приложении и для построения URL через функцию url_for. Обращаться к атрибуту можно как к обычному свойству объекта: bp.name.

Имя чертежа должно быть уникальным в пределах одного приложения. Если зарегистрировать два чертежа с одинаковым именем, Flask выбросит исключение ValueError. Имя не может содержать точку, так как точка является разделителем между именем чертежа и именем функции при построении эндпоинта.

Синтаксис

bp = Blueprint(name, import_name) bp.name

Пример

Давайте создадим чертеж и выведем его имя в консоль:

from flask import Flask, Blueprint app = Flask(__name__) bp = Blueprint('users', __name__) print(bp.name)

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

"users"

Пример

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

from flask import Flask, Blueprint, url_for app = Flask(__name__) bp = Blueprint('users', __name__) @bp.route('/') def index(): return 'hello' app.register_blueprint(bp) with app.test_request_context(): res = url_for('users.index') print(res)

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

"/"

Пример

Давайте проверим, что имена чертежей должны быть уникальными:

from flask import Flask, Blueprint app = Flask(__name__) bp1 = Blueprint('users', __name__) bp2 = Blueprint('users', __name__) app.register_blueprint(bp1) app.register_blueprint(bp2)

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

ValueError: The name 'users' is already registered for this blueprint. Use 'name=' to provide a unique name.

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

  • класс Blueprint,
    который создаёт чертёж приложения
  • метод register,
    который регистрирует чертёж в приложении
  • атрибут url_prefix,
    который задаёт префикс URL для чертежа
  • метод route,
    который вешает обработчик на адрес внутри чертежа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить