Maison >développement back-end >Tutoriel Python >Comment référencer correctement les variables de modèle dans la fonction « url_for() » de Jinja2 ?
Considérez l'extrait de modèle Jinja2 suivant :
<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Ce code tente de générer une URL vers un itinéraire défini as :
@app.route('/magic/<filename>') def moremagic(filename): pass
Cependant, l'URL générée par l'extrait de modèle est incorrecte car la variable {{ filename }} n'est pas correctement référencée dans la fonction url_for().
Pour résoudre ce problème, le jeu supplémentaire d'accolades dans la fonction url_for() doit être supprimé. En effet, tout ce qui se trouve dans {{ ... }} dans Jinja2 est une expression de type Python et, par conséquent, il n'est pas nécessaire d'utiliser un autre {{ ... }} pour référencer des variables.
Le le code corrigé est le suivant :
<a href="{{ url_for('moremagic', filename=name) }}">Click to see magic happen</a>
Ici, la variable name est passée en argument à la fonction url_for(), et le nom du point de terminaison moremagic est utilisé à la place de l'URL chemin.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!