django 模版关闭转义方式


Posted in Python onMay 14, 2020

django 模版显示的html中出现'类似的ascii字符,这是由于django对单引号进行了转义,可以通过关闭转义解决html处理异常问题。

关闭django转义的方法有如下两种:

1.关闭单个模版变量的转义:

利用"|safe" 过滤器告诉django这个变量不需要转义, 如模版中:{{ data|sage }}

2.利用django模版标记关闭html或js块转义

{% autoescape off %}

code..

{% endautoescape %}

补充知识:Django使用mark_safe()和format_html()函数

django从view向template传递HTML字符串的时候,django默认不渲染此HTML,原因是为了防止这段字符串里面有恶意攻击的代码。

如果需要渲染这段字符串,需要在view里这样写:

from django.utils.safestring import mark_safe
 
def view(request):
  ....
  pageHtml = mark_safe("<a href='#'>首页</a>")
  ret =         
  {"equit_cate_list":list,"count":count,"ecform":ecform,"page":page,"pageHtml":pageHtml}
  return render(request, "list_equip_category.html",ret)

前端页面直接使用{{pageHtml}}即可。

mark_safe这个函数就是确认这段函数是安全的,不是恶意攻击的。

adminx中定义的一些插件等都是用mark_safe()进行渲染的。

django 模版关闭转义方式

format_html和mark_safe非常类似,本质还是调用mark_safe函数,不同在于传参方式,mark_safe直接传递完整的html字符串;

而format_html需要使用{}占位符:

format_html('<span style="color:{};">{}</span>', color_code, obj.approval)

以上这篇django 模版关闭转义方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
Apr 25 Python
零基础写python爬虫之抓取糗事百科代码分享
Nov 06 Python
Python的Django REST框架中的序列化及请求和返回
Apr 11 Python
python 自动化将markdown文件转成html文件的方法
Sep 23 Python
Python爬虫框架Scrapy基本用法入门教程
Jul 26 Python
python数据处理 根据颜色对图片进行分类的方法
Dec 08 Python
python获取url的返回信息方法
Dec 17 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
python 两种方法删除空文件夹
Sep 29 Python
python中pickle模块浅析
Dec 29 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 Python
Django表单提交后实现获取相同name的不同value值
May 14 #Python
django模板获取list中指定索引的值方式
May 14 #Python
Django admin管理工具TabularInline类用法详解
May 14 #Python
django创建超级用户时指定添加其它字段方式
May 14 #Python
简单了解python列表和元组的区别
May 14 #Python
Django 解决阿里云部署同步数据库报错的问题
May 14 #Python
Python参数传递实现过程及原理详解
May 14 #Python
You might like
用cookies来跟踪识别用户
2006/10/09 PHP
sphinx增量索引的一个问题
2011/06/14 PHP
php+mysqli数据库连接的两种方式
2015/01/28 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
2012/08/14 Javascript
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
AngularJS删除路由中的#符号的方法
2016/09/20 Javascript
javascript常用的设计模式
2017/02/09 Javascript
Vue 2.X的状态管理vuex记录详解
2017/03/23 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
关于JS解构的5种有趣用法
2019/09/05 Javascript
如何在vue中使用video.js播放m3u8格式的视频
2021/02/01 Vue.js
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python实现批量下载文件
2015/05/17 Python
python自带的http模块详解
2016/11/06 Python
Python zip()函数用法实例分析
2018/03/17 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
django序列化serializers过程解析
2019/12/14 Python
python脚本实现mp4中的音频提取并保存在原目录
2020/02/27 Python
什么是python类属性
2020/06/10 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
美国知名的女性服饰品牌:LOFT(洛芙特)
2016/08/05 全球购物
聪明的粉丝购买门票的地方:TickPick
2018/03/09 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
如何在存储过程中使用Loop
2016/01/05 面试题
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
大学毕业生自荐书怎么写?
2014/01/06 职场文书
留学经费担保书
2014/05/12 职场文书
销售经理岗位职责范本
2015/04/02 职场文书