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 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
详解Python程序与服务器连接的WSGI接口
Apr 29 Python
通过Python使用saltstack生成服务器资产清单
Mar 01 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
pycham查看程序执行的时间方法
Nov 29 Python
Python谱减法语音降噪实例
Dec 18 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
python实现自动清理重复文件
Aug 24 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python数据抓取3种方法总结
Feb 07 Python
Python装饰器详细介绍
Mar 25 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中PDO解决中文乱码问题的一些补充
2010/09/06 PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
2017/07/03 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
基于jQuery的树控件实现代码(asp.net+json)
2010/07/11 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
深入理解Javascript作用域与变量提升
2013/12/09 Javascript
jquery中页面Ajax方法$.load的功能使用介绍
2014/10/20 Javascript
JavaScript如何调试有哪些建议和技巧附五款有用的调试工具
2015/10/28 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
整理Javascript数组学习笔记
2015/11/29 Javascript
AngularGauge 属性解析详解
2016/09/06 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
python和flask中返回JSON数据的方法
2018/03/26 Python
Python3用tkinter和PIL实现看图工具
2018/06/21 Python
python之线程通过信号pyqtSignal刷新ui的方法
2019/01/11 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python使用sys.exc_info()方法获取异常信息
2020/07/23 Python
美国儿童珠宝在线零售商:Loveivy
2019/05/22 全球购物
JBL加拿大官方商店:扬声器、耳机等
2020/10/23 全球购物
电大物流学生的自我评价
2013/10/25 职场文书
校庆接待方案
2014/03/18 职场文书
六一亲子活动总结
2014/07/01 职场文书
领导班子作风建设年个人整改措施
2014/09/29 职场文书
个人作风建设心得体会
2014/10/22 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
如何写观后感
2015/06/19 职场文书
迎新生晚会主持词
2015/06/30 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
Python基础知识之变量的详解
2021/04/14 Python
MySQL的安装与配置详细教程
2021/06/26 MySQL
MySQL的prepare使用以及遇到的bug
2022/05/11 MySQL