2

如果我正在创建一个博客站点并且我想设置路由这样

@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 来协调这一点,以便它检查用户是否首先尝试访问这些关键字。我该如何实施这些检查?

4

1 回答 1

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,而无需在代码库的其他地方更新它。

于 2013-04-09T23:45:20.160 回答