我在使用 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()
?
最佳答案
If the value of a query argument is None, the whole pair is skipped.
确保 url_title
不是 None
。
或者在 article_page
函数中为 url_title
指定默认值。
关于python - 如何使用带有多个参数的 Flask Jinja2 url_for,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20810630/