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

Конвертер path

Конвертер path применяется внутри угловых скобок маршрута и указывает Flask, что параметр должен принять всю оставшуюся часть URL, включая символы слэша /. Обычный строковый параметр останавливается на первом слэше, а path захватывает весь путь целиком. В обработчик значение приходит в виде строки.

Синтаксис

@app.route('/<path:name>')

Пример

Давайте примем путь из URL в параметр name:

from flask import Flask app = Flask(__name__) @app.route('/files/<path:name>') def files(name): return name

Результат выполнения кода для адреса /files/docs/article:

docs/article

Пример

Давайте сравним конвертер path с обычным строковым параметром и посмотрим, как они по-разному разбирают один и тот же адрес:

from flask import Flask app = Flask(__name__) @app.route('/user/<name>') def user(name): return name @app.route('/docs/<path:name>') def docs(name): return name

Обращение к адресу /user/abcde вернёт:

abcde

Обращение к адресу /docs/abcde/hello вернёт:

abcde/hello

Пример

Давайте используем конвертер path для построения ссылки на файл через функцию url_for:

from flask import Flask, url_for app = Flask(__name__) @app.route('/files/<path:name>') def files(name): return name with app.test_request_context(): print(url_for('files', name='docs/article'))

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

"/files/docs/article"

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

  • конвертер string,
    который принимает строку без слэшей
  • конвертер int,
    который принимает целое число
  • функцию url_for,
    которая строит URL по имени обработчика
  • функцию redirect,
    которая перенаправляет на другой адрес
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить