Sintaxe de escape jinja2 em um modelo jinja2

88

Eu sirvo páginas dinâmicas de modelos Jinja2 no Flask. Agora estou definindo modelos do lado do cliente, digamos, Jinja2-clone Nunjucks dentro de uma tag de script. O problema é que os modelos do lado do cliente têm sintaxe como a <% %>que o interpretador Jinja2 do Flask pode interpretar em vez de renderizar literalmente .

Como posso fazer com que todo o bloco de scripts seja renderizado literalmente?

Jesvin Jose
fonte
Observação: jinja faz isso de maneira diferente de twig
dreftymac

Respostas:

192

Você pode desativar a interpretação de tags dentro de um {% raw %}bloco:

{% raw %}

Anything in this block is treated as raw text,
including {{ curly braces }} and
{% other block-like syntax %}

{% endraw %}

Consulte a seção Escaping da documentação do modelo.

Martijn Pieters
fonte