首页 > python web

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

时间:2020-10-21 python web 查看: 1098

起步

随着 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 }} 。

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

展开全文
上一篇:django3.02模板中的超链接配置实例代码
下一篇:flask框架渲染Jinja模板与传入模板变量操作详解
输入字:
相关知识
django学习之ajax post传参的2种格式实例

AJAX除了异步的特点外,还有一个就是:浏览器页面局部刷新,下面这篇文章主要给大家介绍了关于django学习之ajax post传参的2种格式的相关资料,需要的朋友可以参考下

Python djanjo之csrf防跨站攻击实验过程

csrf攻击,即cross site request forgery跨站(域名)请求伪造,这里的forgery就是伪造的意思。这篇文章主要给大家介绍了关于Python djanjo之csrf防跨站攻击的相关资料,需要的朋友可以参考下

django admin实现动态多选框表单的示例代码

借助django-admin,可以快速得到CRUD界面,但若需要创建多选标签字段时,需要对表单进行调整,本文通过示例代码给大家介绍django admin多选框表单的实现方法,感兴趣的朋友跟随小编一起看看吧

Flask登录注册项目的简单实现

一个简单的用户注册和登录的页面,涉及到验证,数据库存储等等,本文主要介绍了Flask登录注册项目的简单实现,从目录结构开始,感兴趣的可以了解一下