Maison > développement back-end > Tutoriel Python > Comment référencer correctement les variables de modèle dans la fonction « url_for() » de Jinja2 ?

Comment référencer correctement les variables de modèle dans la fonction « url_for() » de Jinja2 ?

Linda Hamilton
Libérer: 2024-12-19 16:10:12
original
466 Les gens l'ont consulté

How to Correctly Reference Template Variables within Jinja2's `url_for()` Function?

Référencement des variables de modèle dans les expressions Jinja

Le problème

Considérez l'extrait de modèle Jinja2 suivant :

<a href="{{ url_for('/magic/{{ filename }}') }}">Click to see magic happen</a>
Copier après la connexion

Ce code tente de générer une URL vers un itinéraire défini as :

@app.route('/magic/<filename>')
def moremagic(filename):
    pass
Copier après la connexion

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().

La solution

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>
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal