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 运算符 供重载参考
Jun 11 Python
Python多线程爬虫简单示例
Mar 04 Python
Python3实现发送QQ邮件功能(文本)
Dec 15 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
详解python列表生成式和列表生成式器区别
Mar 27 Python
PyQt5+Caffe+Opencv搭建人脸识别登录界面
Aug 28 Python
VSCode基础使用与VSCode调试python程序入门的图文教程
Mar 30 Python
Python实现扫码工具的示例代码
Oct 09 Python
Django Admin后台模型列表页面如何添加自定义操作按钮
Nov 11 Python
Python中异常处理用法
Nov 27 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中怎样保持SESSION不过期 原理及方案介绍
2013/08/08 PHP
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2016/01/09 PHP
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
jquery延迟加载外部js实现代码
2013/01/11 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
无限树Jquery插件zTree的常用功能特性总结
2014/09/11 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
JavaScript计算值然后把值嵌入到html中的实现方法
2016/10/29 Javascript
JS常用算法实现代码
2016/11/14 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
JQuery.dataTables表格插件添加跳转到指定页
2017/06/09 jQuery
使用webpack打包koa2 框架app
2018/02/02 Javascript
AngularJS中的作用域实例分析
2018/05/16 Javascript
javascript使用正则实现去掉字符串前面的所有0
2018/07/23 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
用node开发并发布一个cli工具的方法步骤
2019/01/03 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
python用户管理系统的实例讲解
2017/12/23 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
Python3如何使用tabulate打印数据
2020/09/25 Python
简单的JAVA编程面试题
2013/03/19 面试题
王兆力在市委党的群众路线教育实践活动总结大会上的讲话稿
2014/10/25 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android
Window server中安装Redis的超详细教程
2021/11/17 Redis
Python借助with语句实现代码段只执行有限次
2022/03/23 Python