Ответ 1
Используйте конвертер path
для захвата произвольных путей длины: <path:path>
будет захватывать путь и передавать его аргументу path
. Конвертер по умолчанию захватывает одну строку, но останавливается на косых чертах, поэтому ваш первый URL-адрес совпадает, а второй - нет.
Если вы также хотите сопоставить корневой каталог (ведущий слэш и пустой путь), вы можете добавить другое правило, которое устанавливает значение по умолчанию для аргумента пути.
@app.route('/', defaults={'path': ''})
@app.route('/<path:path>')
def get_dir(path):
return path
Существуют и другие встроенные преобразователи, такие как int
и float
, а также можно писать свои собственные и для более сложных случаев.