带有url_for()的烧瓶中的多部分URL

时间:2014-01-20 16:14:34

标签: python web flask

如何使用url_for()访问定义为@app.route('/user/add')的路由?我试过url_for('user/add'),但无济于事。

我收到错误'BuildError: ('projects/add', {}, None)'

2 个答案:

答案 0 :(得分:7)

您不使用url_for的网址路径。相反,您为每个路由分配了一个“端点”,这是您在url_for中使用的路径。例如......

@app.route('/user/add', endpoint='useradd')
def add_user():
   pass

如果你这样做,你明确说出“端点”是什么。然后,你可以使用......

url_for('useradd')

但是,如果您没有明确添加“端点”,则会根据函数名称自动确定一个端点。所以,如果你做了......

@app.route('/user/add')
def add_user():
   pass

...然后端点将是“add_user”,因为这是函数的名称......

url_for('add_user')

答案 1 :(得分:2)

你应该传递路线的功能名称作为url_for()的参数
例如:

@app.route('/user/add')
def add():
    pass

使用url_for应该是这样的:

url_for("add")