flask передача нескольких аргументов в адресной строке через слэш

мне нужно через слэши указать несколько чисел в адресной строке, чтобы функция вернула самое большое из них.

@app.route("/max_number/<numbers>")
def max_number(numbers):
    split_strings = numbers.split('/')
    split_numbers = []
    for nums in split_strings:
        split_numbers.append(nums)
    max_num = max(split_numbers)
    return f'Максимальное переданное число  {max_num}'

Хотел обработать всё как единую строку, но следующий слэш отделяет numbers, а не входит в эту строку. Каким образом это можно решить?


Ответы (1 шт):

Автор решения: mrEvgenX

Явно использовать Variable Rules.

Когда просто пишешь имя аргумента, то используешь variable rule типа string. Почти все variable rules игнорируют слэши. Кроме path - то, что нужно.

@app.route("/max_number/<path:numbers>")
def max_number(numbers):
    split_strings = numbers.split('/')
    split_numbers = []
    for nums in split_strings:
        split_numbers.append(nums)
    max_num = max(split_numbers)
    return f'Максимальное переданное число  {max_num}'
→ Ссылка