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

Метод url_defaults

Метод url_defaults применяется к приложению Flask и регистрирует функцию, которая подставляет значения по умолчанию для параметров URL. Первым параметром передаётся функция-обработчик, принимающая словарь endpoint и словарь values. Эта функция вызывается перед построением URL и позволяет заполнить отсутствующие параметры маршрута.

Синтаксис

@app.url_defaults def handler(endpoint, values): pass

Пример

Давайте зададим значение по умолчанию для параметра lang во всех маршрутах:

from flask import Flask, url_for app = Flask(__name__) @app.url_defaults def set_lang(endpoint, values): if 'lang' not in values: values['lang'] = 'en' @app.route('/page/<lang>') def page(lang): return lang with app.test_request_context(): res = url_for('page')

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

'/page/en'

Пример

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

from flask import Flask, url_for app = Flask(__name__) @app.url_defaults def set_user(endpoint, values): if endpoint == 'user' and 'name' not in values: values['name'] = 'abcde' @app.route('/user/<name>') def user(name): return name with app.test_request_context(): res = url_for('user')

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

'/user/abcde'

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

  • метод route,
    который регистрирует маршрут приложения
  • метод add_url_rule,
    который добавляет маршрут без декоратора
  • метод endpoint,
    который возвращает имя эндпоинта по запросу
  • атрибут url_map,
    который хранит карту маршрутов приложения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить