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

Атрибут subdomain

Атрибут subdomain применяется к объекту Blueprint и указывает поддомен, к которому привязываются все маршруты этого блюпринта. Значением атрибута выступает строка с именем поддомена. Если атрибут не задан, маршруты блюпринта доступны на основном домене приложения.

Для работы поддоменов в конфигурации приложения необходимо задать параметр SERVER_NAME, например 'example.com'. Тогда блюпринт с атрибутом subdomain, равным 'admin', будет отвечать на адрес admin.example.com.

Синтаксис

bp = Blueprint(name, import_name, subdomain='sub')

Пример

Давайте создадим блюпринт с поддоменом 'admin' и повесим на него один маршрут:

from flask import Flask, Blueprint app = Flask(__name__) app.config['SERVER_NAME'] = 'example.com' bp = Blueprint('admin', __name__, subdomain='admin') @bp.route('/') def index(): return 'hello' app.register_blueprint(bp)

Результат выполнения кода для адреса admin.example.com:

hello

Пример

Давайте создадим два блюпринта с разными поддоменами и зарегистрируем их в приложении:

from flask import Flask, Blueprint app = Flask(__name__) app.config['SERVER_NAME'] = 'example.com' bp1 = Blueprint('user', __name__, subdomain='user') bp2 = Blueprint('admin', __name__, subdomain='admin') @bp1.route('/') def user_index(): return 'user page' @bp2.route('/') def admin_index(): return 'admin page' app.register_blueprint(bp1) app.register_blueprint(bp2)

Результат выполнения кода для адреса user.example.com:

user page

Результат выполнения кода для адреса admin.example.com:

admin page

Пример

Давайте используем динамический поддомен, в котором часть имени поддомена принимается как параметр:

from flask import Flask, Blueprint app = Flask(__name__) app.config['SERVER_NAME'] = 'example.com' bp = Blueprint('user', __name__, subdomain='<username>') @bp.route('/') def index(username): return username app.register_blueprint(bp)

Результат выполнения кода для адреса abcde.example.com:

abcde

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

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