comment utiliser Flask Jinja2 url pour avec plusieurs paramètres
tout le monde!
j'ai eu un problème en utilisant la fonction Jinja2 url_for ().
j'ai une route 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)
à jinja fichier de modèle,je veux créer une url des liens vers article_page,donc 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)
semble manquer le second paramètre 'url_title'. Comment puis-je utiliser url_for() avec plusieurs paramètres correctement? Merci à tous!
8
demandé sur
Tiny Lin
2013-12-28 07:14:53
2 réponses
Selon url_for
documentation:
si la valeur D'un argument de requête est None, la paire entière est sautée.
assurez-vous que url_title
n'est pas None
.
ou spécifiez la valeur par défaut pour url_title
dans le article_page
fonction.
6
répondu
falsetru
2017-02-15 15:38:45
Vous avez manqué un point, essayez ça:
url_for('.article_page', article_id=article.id, url_title=article.url_title)
1
répondu
Trưởng Đinh Quang
2017-06-28 16:24:08