Je dois produire un identifiant entouré d'accolades (par exemple "{1234}"). Avec le langage de modèle django, les accolades sont également utilisées pour démarrer une substitution de variable, donc j'ai du mal à obtenir ce que je veux. J'ai essayéComment mettre des accolades dans les modèles django?
{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }
Aucune de ces méthodes de travail, à l'exception du dernier, qui produit malheureusement « {1234} », pas ce que je veux. J'ai actuellement deux solutions: soit je passe une variable d'id contenant déjà le {} (laid) ou j'écris un filtre personnalisé et puis j'écris {{id | add_braces}} (je le préfère).
Avant de passer par là, je préfère demander si une meilleure solution existe. L'utilisation de valeurs échappées ne fonctionne pas. Même si j'ajoute {% autoescape off%}% 7B {% endautoescape%} je n'obtiens pas le {, ce qui est étrange, mais c'est un autre problème.
Merci
Modifier: J'ai écrit un filtre rapide. Coller ici afin que quelqu'un d'autre puisse l'utiliser comme un modèle pour écrire un plus complexe. Pour être mis en paquet python APPLICATION_PATH/templatetags/formatting.py
from django import template
from django.template.defaultfilters import stringfilter
register = template.Library()
@register.filter
@stringfilter
def add_braces(value):
return "{"+value+"}"
Merci! en tout cas j'ai écrit un filtre. Ajoutant ainsi si quelqu'un veut l'utiliser comme un petit exemple de filtre ... –