如何使用带有多个参数的Flask Jinja2 url_for

使用jinja2 url_for()功能时出现问题。

我有一条这样的路线:

@app.route('/article/<int:article_id>/<url_title>/', methods=['GET'])

def article_page(article_id, url_title):

article = Article.query.get(article_id)

if article == None:

abort(404)

return render_template('article.html', article=article)

在jinja模板文件中,我想创建一个链接到article_page的URL,所以我这样写:

<h5>

<a href="{{ url_for('article_page',article_id=article.id,url_title=article.url_title) }}">{{ article.title }}</a>

</h5>

但是当我运行此页面时,出现错误:

raise BuildError(endpoint, values, method)

BuildError: ('article_page', {'article_id': 1}, None)

似乎url_title缺少第二个参数。如何url_for()正确使用多个参数?

回答:

根据url_for文件:

如果查询参数的值为“无”,则将跳过整个对。

确保url_title不是None

url_titlearticle_page函数中指定默认值。

以上是 如何使用带有多个参数的Flask Jinja2 url_for 的全部内容, 来源链接: utcz.com/qa/433792.html

回到顶部