如何使用url_for()访问定义为@app.route('/user/add')
的路由?我试过url_for('user/add')
,但无济于事。
我收到错误'BuildError: ('projects/add', {}, None)'
答案 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")