plantillas para descargar bootstrap django braces

para - django templates bootstrap



¿Cómo poner llaves en las plantillas django? (3)

Necesito producir una identificación rodeada de llaves (por ejemplo, "{1234}"). Con el lenguaje de plantillas de django, las llaves también se usan para iniciar una sustitución de variable, por lo que tengo algunos problemas para obtener lo que quiero. Lo intenté

{{{ id }}} {{ ''{''id''}'' }} {{ ''{''+id+''}'' }} { {{ id }} }

Ninguno de estos métodos funciona, excepto el último, que desafortunadamente produce "{1234}", no lo que quiero. Actualmente tengo dos soluciones: paso una variable de identificación que ya contiene {} (feo) o escribo un filtro personalizado y luego escribo {{id | add_braces}} (lo prefiero).

Antes de ir por este camino, prefiero preguntar si existe una mejor solución.

Usar valores de escape no funciona. Incluso si agrego {% autoescape off%}% 7B {% endautoescape%} no obtengo el {, lo cual es extraño, pero ese es otro problema.

Gracias

Edit : escribí un filtro rápido. Pegándolo aquí para que alguien más pueda usarlo como plantilla para escribir uno más complejo. Para poner en el paquete 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+"}"



La recomendación del lenguaje de plantillas Jinja también funciona con el motor de plantillas Django:

http://jinja.pocoo.org/docs/dev/templates/#escaping

La solución es la siguiente:

{{ ''{'' }}{{ id }}{{ ''}'' }}

Por supuesto, las otras dos respuestas funcionan, pero en mi opinión, esta es una menos detallada y más legible.


{% templatetag openbrace %} vuelve extremadamente detallado para, por ejemplo, plantillas de javascript

He utilizado la etiqueta verbatim de esta esencia con cierto éxito exactamente para este propósito que te permite hacer algo como

{{ request.user }} {% verbatim %} brackets inside here are left alone, which is handy for e.g. jquery templates {{ this will be left }} {% so will this %} {% endverbatim }} {% more regular tags (to be replaced by the django template engine %}