如果我正在创建一个博客站点,并且我想设置这样的路由
@app.route('/<username>/<postname>', methods=['GET'])
路由到名为“user name”的用户的名为“postname”的帖子,如何使html识别此内容?我一直想做些
<a href={{ url_for('/', username=user.name, postname=post.name) }}>{{post.name}}</a>
我还尝试将此与Flask理解特殊关键字/login或/about进行协调,以便它检查用户是否首先尝试访问这些关键字。我如何实施这些检查?
最佳答案
模板中url_for
的第一个参数应该是您修饰的view函数的名称:
@app.route('/<username>/<postname>', methods=['GET'])
def view_user_post(username, postname):
^^^^^^^^^^^^^^
现在,您可以在模板中编写:
{{ url_for('view_user_post', username=user.name, postname=post.name) }}
这允许您更改路由中的URL,而不必在代码库中的其他位置更新它。