toutes les personnes!
J'ai eu un problème pendant que j'utilisais la fonction jinja2 url_for ().
J'ai un itinéraire comme:
@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)
dans le fichier de modèle jinja, je veux créer une URL qui renvoie à article_page, alors j'écris comme ceci:
<h5><a href="{{ url_for('article_page',article_id=article.id,url_title=article.url_title) }}">{{ article.title }}</a></h5>
mais quand je lance cette page, j'obtiens une erreur:
raise BuildError(endpoint, values, method)
BuildError: ('article_page', {'article_id': 1}, None)
il semble que le second paramètre, 'url_title', manque. Comment utiliser correctement url_for () avec plusieurs paramètres? Merci tout le monde!
Selon url_for
documentation :
Si la valeur d'un argument de requête est None, la paire entière est ignorée.
Assurez-vous que url_title
n'est pas None
.
Ou spécifiez la valeur par défaut pour url_title
dans la fonction article_page
.
Vous avez manqué un point, essayez ça:
url_for('.article_page', article_id=article.id, url_title=article.url_title)