可变路由在For循环中不工作

2024-09-28 21:58:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用数据库中的变量和for循环一次性创建多个路由。在

我试过了

temp = "example"
@app.route("/speaker/<temp>")
def getSpeakerAtr(temp):
    return  '''%s''' % temp

效果很好。但是:

^{pr2}$

不起作用。错误消息:

File“/Users/yang/Documents/CCPC Website/venv/lib/python2.7/site-packages/flask/应用程序副本“,第1013行,在decorator中 02:03:04网址1 |self.add_url_规则(规则,端点,f,**选项)

**我想使用多个路由的原因是我需要从路由中查询得到一个对象的完整数据。例如: 如果键入以下url:

//…/发言人/sam

我们可以得到“name”值为“sam”的对象。然后我可以使用这个对象中的所有值,比如bio或其他东西。**


Tags: 对象数据库appurl路由forreturn规则
1条回答
网友
1楼 · 发布于 2024-09-28 21:58:58

你不需要多条路线。只有一条路径可以验证其价值,例如:

@app.route('/speaker/<temp>')
def getSpeakerAtr(temp):
    if not any(temp == str(x.name) for x in models.Speaker.objects):
        # do something appropriate (404 or something?)
    # carry on doing something else

或者你的真实意图:

^{pr2}$

相关问题 更多 >