flask 中的 url_for 生成器不适用于我的一个 View (它适用于其他 View )。生成器给出 /user/?name=Joe
虽然我期待 /u/Joe
.
在模板中,我尝试使用以下方法获取用户页面的 URL:{{ url_for('user', name = g.user.name ) }}
这是对应的 View 函数:
@app.route('/u/<name>')
@login_required
def user(name):
起初这是可行的,但有些事情发生了变化。我曾尝试更改 View 名称和 url,但没有成功。
有什么想法吗?我对此一头雾水......
完整的应用程序可在 GitHub 上获得:https://github.com/joehand/weight-and-more-tracker
编辑:@login_required
decorated 是 Flask-login 提供的。
此外,删除 <name>
变量不能解决问题。然后 URL 就是 /user
.
最佳答案
在 api.py 中,您正在注册一个名称为“user”的 View ,这可能与名为“user”的方法冲突。
关于python - Flask url_for 产生错误的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15909455/