我正在使用Django模板的网站上工作,我必须生成包含成对卷曲引号的HTML。有没有办法禁用Django的代码块处理标签?像文字块标签这样的东西会很好,所以:
{% literal %}
{% LITERAL {{ BRACES }}
{% endliteral %}
...会在输出中生成{% LITERAL {{ BRACES }}
。
答案 0 :(得分:5)
对于记录,现在可以使用模板标记逐字。
答案 1 :(得分:2)
编辑: 目前的词法分析器/解析器系统目前无法使用您的语法。
为什么呢?基本上模板系统有一个Lexer和一个Parser。 Lexer将模板字符串作为输入,并对其进行标记。解析器然后在其构造函数中获取标记列表,并将它们解析为编译模板的一组节点列表。模板标签和过滤器只能访问已构建的解析器 - 您无法访问初始词法分析器字符串。请参阅django/templates/__init__.py
然而,有一个解决方案。它不是我的(见下文),但它主要使用服务器端包括{%ssi some_file.html%}来包含一个具有文字文本的额外文件。是的,这是一个丑陋的解决方案;但是如果不对模板系统进行重大改写就足够了。
答案 2 :(得分:0)