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


Posted in Python onJanuary 24, 2020

起步

随着 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 相关文章推荐
Python读写Excel文件的实例
Nov 01 Python
python基础教程之元组操作使用详解
Mar 25 Python
理解Python中函数的参数
Apr 27 Python
详细讲解用Python发送SMTP邮件的教程
Apr 29 Python
Python实现的简单dns查询功能示例
May 24 Python
python机器学习之KNN分类算法
Aug 29 Python
scrapy-redis源码分析之发送POST请求详解
May 15 Python
在python中画正态分布图像的实例
Jul 08 Python
解决Pytorch 加载训练好的模型 遇到的error问题
Jan 10 Python
Python3自定义http/https请求拦截mitmproxy脚本实例
May 11 Python
Python实现抖音热搜定时爬取功能
Mar 16 Python
python中redis包操作数据库的教程
Apr 19 Python
在keras中获取某一层上的feature map实例
Jan 24 #Python
keras获得model中某一层的某一个Tensor的输出维度教程
Jan 24 #Python
使用Tensorflow实现可视化中间层和卷积层
Jan 24 #Python
tensorflow获取预训练模型某层参数并赋值到当前网络指定层方式
Jan 24 #Python
keras获得某一层或者某层权重的输出实例
Jan 24 #Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 #Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 #Python
You might like
我的论坛源代码(四)
2006/10/09 PHP
php 来访国内外IP判断代码并实现页面跳转
2009/12/18 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
PHP用continue跳过本次循环中剩余代码的注意点
2017/06/27 PHP
如何利用预加载优化Laravel Model查询详解
2017/08/11 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
深入理解vue中的$set
2017/06/01 Javascript
vue中各种通信传值方式总结
2019/02/14 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
vue学习笔记之作用域插槽实例分析
2020/02/01 Javascript
Node.js API详解之 module模块用法实例分析
2020/05/13 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
详谈python read readline readlines的区别
2017/09/22 Python
Python实战小程序利用matplotlib模块画图代码分享
2017/12/09 Python
scrapy-redis源码分析之发送POST请求详解
2019/05/15 Python
python中的协程深入理解
2019/06/10 Python
Python OpenCV实现鼠标画框效果
2020/08/19 Python
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
自主招生教师推荐信
2014/05/10 职场文书
食品安全标语
2014/06/07 职场文书
教育系统干部作风整顿心得体会
2014/09/09 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
苏州园林导游词
2015/02/03 职场文书
基于Python实现对比Exce的工具
2022/04/07 Python