Maison > développement back-end > Tutoriel Python > Comment référencer correctement les variables de modèle dans les expressions Jinja `url_for()` ?

Comment référencer correctement les variables de modèle dans les expressions Jinja `url_for()` ?

Patricia Arquette
Libérer: 2024-12-07 14:09:15
original
917 Les gens l'ont consulté

How to Properly Reference Template Variables in Jinja `url_for()` Expressions?

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

Cet article aborde un problème courant rencontré lors de la tentative d'intégration de variables de modèle dans des expressions Jinja pour Génération d'URL à l'aide de url_for().

Le Problème :

Les modèles Jinja2 permettent d'utiliser des expressions entourées de doubles accolades ({{ ... }}). Cependant, lorsqu'ils tentent d'inclure une variable de modèle dans la fonction url_for(), les utilisateurs peuvent rencontrer des erreurs de syntaxe s'ils ont imbriqué des accolades supplémentaires :

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

La solution :

La clé pour résoudre ce problème est de supprimer les accolades imbriquées inutiles. Les expressions Jinja sont déjà considérées comme similaires à Python, il n'est donc pas nécessaire d'ajouter des crochets autour de la variable de modèle.

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

Dans ce code ajusté, filename=name attribue la valeur de la variable de modèle de nom au nom de fichier. paramètre de la route moremagic.

Remarque supplémentaire :

Il est crucial de noter que url_for() nécessite un nom de point de terminaison, pas le chemin de l'URL lui-même. Dans l'exemple fourni, le nom du point de terminaison est moremagic, qui est par défaut le nom de la fonction s'il n'est pas explicitement défini.

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!

source:php.cn
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