Я хочу указать произвольное количество аргументов для маршрута в виде пути: /arg/arg2/arg3/etc
. Я не могу понять, как поймать все эти «подпуты» по маршруту в одной функции. Как я могу сделать эту работу?Правило маршрута колбы как функция args
from flask import Flask
app = Flask("Example")
@app.route("/test/<command>/*")
def test(command=None, *args):
return "{0}: {1}".format(command, args)
app.run()
Предназначенный поведение:
/test/say
->say:()
/test/say/
->say:()
/test/say/hello
->say: ("hello",)
/test/say/hello/to/you
->say: ("hello", "to", "you")
Не совсем то, что вы после этого, но есть пример написания конвертера пользовательской URL здесь (https://exploreflask.com/views. html # url-converters), которые, вероятно, могут быть адаптированы к чему-то, что сработает для вас. – hoyland
@ давидизм, принятый ответ, решает проблему, но это будет означать серьезный пересмотр его удаления половины и перезаписи другой части. Проведение себя в этом случае не будет честным, так как принятый ответ дал ключ к решению – deinonychusaur