如果我正在创建一个博客网站,我想设置路由
@app.route('/<username>/<postname>', methods=['GET'])
路由到名为'username'的用户名为'postname'的帖子,如何让html识别出来?我一直在尝试做类似
的事情<a href={{ url_for('/', username=user.name, postname=post.name) }}>{{post.name}}</a>
我还试图将此与Flask理解特殊关键字/ login或/ about进行协调,以便检查用户是否首先尝试访问这些关键字。我该如何实施这些检查?
答案 0 :(得分:4)
模板中url_for
的第一个参数应该是您装饰的视图函数的名称:
@app.route('/<username>/<postname>', methods=['GET'])
def view_user_post(username, postname):
^^^^^^^^^^^^^^
现在,您可以在模板中写下这个:
{{ url_for('view_user_post', username=user.name, postname=post.name) }}
这使您可以更改路径中的URL,而无需在代码库中的其他位置更新它。