如何在 Django 模板中实现数据输出?
- 内容介绍
- 文章标签
- 相关推荐
本文共计443个文字,预计阅读时间需要2分钟。
起步+随性+学习JavaScript的巨匠,前端也要用自己模板引擎了。若变量使用{...}包裹的包形式,而{...}又会被Django模板引擎解析。导致{...}无法输出到前端,这时应该如何处理?大体上有三种方法。
起步
随着 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 }} 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计443个文字,预计阅读时间需要2分钟。
起步+随性+学习JavaScript的巨匠,前端也要用自己模板引擎了。若变量使用{...}包裹的包形式,而{...}又会被Django模板引擎解析。导致{...}无法输出到前端,这时应该如何处理?大体上有三种方法。
起步
随着 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 }} 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

