Estoy tratando de insertar jQuery templates en las plantillas Jinja2. Desgraciadamente, ambos (en la configuración predeterminada) usan los bigotes {{
& }}
para indicar expresiones y literales, respectivamente.Evitar los bigotes ambiguos de Jinja2 que incluyen plantillas jQuery
estoy insertando en mis plantillas jQuery HTML con etiquetas script
, así:
<script type='text/x-jquery-template'>
<div>The people are:
{{ each people }}
${$value}
{{ /each }}
</div>
</script>
Si lo anterior es una plantilla en Jinja, sin embargo, se resiste porque Jinja trata de interpretar each
como un literal.
Dadas las circunstancias (ya tenemos muchas plantillas), no es práctico cambiar los delimitadores de inicio y fin de Jinja2 para las variables. Además, es confuso, disminuye la interoperabilidad y requiere entrenamiento adicional. Es preferible evitar esta opción.
Así las cosas dos alternativas He pensado para resolver este son:
Jinja2 escapar cada uno '{{' y '}}', que no estoy muy seguro de cómo hacerlo mejor ("{{ "{{"}}`, tal vez, pero eso es detallado);
Más práctica - tal vez ideales - habría diciendo Jinja2 a no analizar un bloque de código, tal vez a través de una extensión de jQuery.
Estaría agradecido por sus pensamientos y comentarios. Gracias por leer.
¡Yo también tengo un bigote ambiguo! Me recuerda que es hora de afeitarse. :) –