Necesito producir una identificación rodeada de llaves (por ejemplo "{1234}"). Con el lenguaje de plantilla django, las llaves también se utilizan para iniciar una sustitución de variable, por lo que tengo algunos problemas para obtener lo que quiero. Probé¿Cómo poner llaves en plantillas django?
{{{ id }}}
{{ '{'id'}' }}
{{ '{'+id+'}' }}
{ {{ id }} }
Ninguno de estos métodos funciona, excepto la última, que lamentablemente produce "{1234}", no lo que yo quiero. Actualmente tengo dos soluciones: o paso una variable de id que ya contiene el {} (feo) o escribo un filtro personalizado y luego escribo {{id | add_braces}} (lo prefiero).
Antes de seguir de esta manera, prefiero preguntar si existe una mejor solución.
El uso de valores escapados no funciona. Incluso si agrego {% autoescape off%}% 7B {% endautoescape%}, no obtengo el {, lo cual es extraño, pero ese es otro problema.
Gracias
Editar: Escribí un filtro rápido. Pegarlo aquí para que otra persona pueda usarlo como plantilla para escribir uno más complejo. Para poner en Application_Path paquete python/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+"}"
Gracias! en cualquier caso, escribí un filtro. Agregándolo así si alguien quiere usarlo como un pequeño ejemplo de filtro ... –