как использовать Flask Jinja2 url для с несколькими параметрами
все!
у меня возникла проблема, когда я использовал функцию 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 я хочу создать url, который ссылается на article_page, поэтому я пишу так:
<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() с несколькими параметрами? Спасибо все!
2 ответов
по данным url_for
документация:
если значение аргумента запроса равно None, вся пара пропускается.
убедитесь в том, что url_title
не None
.
или укажите значение по умолчанию для url_title
на
вы пропустили точку, попробуй это:
url_for('.article_page', article_id=article.id, url_title=article.url_title)