我正在学习 Flask,有一个关于动态路由的问题:是否可以传入接受的路由列表?我注意到any
转换器具有潜力,但很难找到使用中的示例。基本上我有不同的端点组,它们应该在它们之间触发相同的操作。这就是我的意思:
cities = [New York, London, Tokyo]
food = [eggs, bacon, cheese]
actions = [run, walk, jump]
我可以做类似的事情
@app.route('/<string:var>', methods = ['GET'])
def doSomething(var):
if var in cities:
travel(var)
else if var in food:
eat(var)
else if var in action:
perform(var)
但我有什么办法可以做这样的事情吗?
@app.route('/<any(cities):var>', methods = ['GET'])
def travel(var):
@app.route('/<any(food):var>', methods = ['GET'])
def eat(var)
@app.route('/<any(actions):var>', methods = ['GET'])
def perform(var)
此外,我希望这些列表是动态的。所以我真正想要的是这样的:
cities = myDb.("SELECT cities FROM country")
@app.route('/<any(cities):var>', methods = ['GET'])
def travel(var):
有什么方法可以实现这一目标,还是我被困在一条动态路线中阻塞所有内容?