如何在 Django 模板中输出 "{{"

时间:2021-05-22

起步

随着 javascript 的壮大,前端也要使用自己的模板引擎了。若变量使用{{ 包裹的形式,而{{ 又会被 Django 模板引擎解析。导致{{ 无法输出到前端,这个时候应该怎么处理?大概有三种方式解决。

方法一:使用templatetag 标签

这个官方给出的解决方案,标签也是内置的:

{% templatetag openvariable %} variable {% templatetag closevariable %}

输出到前端为:{{ variable }} 它能在渲染后的内容前后加上标签。比如:

{% templatetag openvariable %} variable || {{ count }} {% templatetag closevariable %}

渲染为:{{ variable || 90 }} ,可以看到templatetag 标签的内容会被解析,然后再将得到的解析结果包裹{{ ,因此这个方法的自由度很高。

方法二:使用verbatim 临时关闭模板引擎

标签verbatim 也是内置标签,它的作用是原样输出模板内容:

{% verbatim %}{{ variable }}{% endverbatim %}

渲染结果为:{{ variable }} 。

方法三:使用自定义标签

创建标签函数:

@register.simple_tag()def double_brace(text): return "{{ %s }}" % text

模板中使用:

{% double_brace "variable" %}

渲染结果:{{ variable }} 。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章