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中的pprint折腾记
Jan 21 Python
Python学习思维导图(必看篇)
Jun 26 Python
Python对多属性的重复数据去重实例
Apr 18 Python
python字符串查找函数的用法详解
Jul 08 Python
Django 外键的使用方法详解
Jul 19 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
Python的控制结构之For、While、If循环问题
Jun 30 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 Python
Python 循环读取数据内存不足的解决方案
May 25 Python
详解运行Python的神器Jupyter Notebook
Jun 03 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
php防注入及开发安全详细解析
2013/08/09 PHP
一个高效的JavaScript压缩工具下载集合
2007/03/06 Javascript
javascript window对象属性整理
2009/10/24 Javascript
Array.prototype 的泛型应用分析
2010/04/30 Javascript
Jquery实现鼠标移上弹出提示框、移出消失思路及代码
2013/05/19 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
Angular2学习教程之组件中的DOM操作详解
2017/05/28 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
JS实现密码框效果
2020/09/10 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[01:19]2014DOTA2国际邀请赛 采访TITAN战队ohaiyo 能赢DK很幸运
2014/07/12 DOTA
Python语言进阶知识点总结
2019/05/28 Python
python设置环境变量的原因和方法
2019/06/24 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
Django中提示消息messages的设置方式
2019/11/15 Python
如何使用Python多线程测试并发漏洞
2019/12/18 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
CSS3中伪元素::before和::after的用法示例
2017/09/18 HTML / CSS
html5 http的轮询和Websocket原理
2018/10/19 HTML / CSS
施华洛世奇日本官网:SWAROVSKI日本
2018/05/04 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
上海中网科技笔试题
2012/02/19 面试题
医学生个人求职信范文
2013/09/24 职场文书
公休请假条
2014/04/11 职场文书
工程承诺书怎么写
2014/05/24 职场文书
见义勇为事迹材料
2014/12/24 职场文书
监守自盗观后感
2015/06/10 职场文书
详解Laravel制作API接口
2021/05/31 PHP
pandas求平均数和中位数的方法实例
2021/08/04 Python
Redis主从复制操作和配置详情
2022/09/23 Redis