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正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
关于你不想知道的所有Python3 unicode特性
Nov 28 Python
在Python中使用M2Crypto模块实现AES加密的教程
Apr 08 Python
在Django中管理Users和Permissions以及Groups的方法
Jul 23 Python
Python+django实现文件上传
Jan 17 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
python使用opencv读取图片的实例
Aug 17 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
Python 一键获取百度网盘提取码的方法
Aug 01 Python
Python urllib2运行过程原理解析
Jun 04 Python
python如何实现word批量转HTML
Sep 30 Python
python爬虫scrapy图书分类实例讲解
Nov 23 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
PHP 文件上传源码分析(RFC1867)
2009/10/30 PHP
修改php.ini以达到屏蔽错误信息并记录日志
2013/06/16 PHP
php数组编码转换示例详解
2014/03/11 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
在Mac OS上搭建Nginx+PHP+MySQL开发环境的教程
2015/12/21 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
在Laravel中使用DataTables插件的方法
2018/05/29 PHP
PHP fclose函数用法总结
2019/02/15 PHP
json 入门基础教程 推荐
2009/10/31 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
给html超链接设置事件不使用href来完成跳
2014/04/20 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
jQuery多个版本和其他js库冲突的解决方法
2016/08/11 Javascript
深入理解JS中的Function.prototype.bind()方法
2016/10/11 Javascript
适用于手机端的jQuery图片滑块动画
2016/12/09 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
vue脚手架项目创建步骤详解
2021/03/02 Vue.js
使用Python生成XML的方法实例
2017/03/21 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
2020/06/28 Python
Python logging模块handlers用法详解
2020/08/14 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
某个公司的Java笔面试题
2016/03/11 面试题
介绍一下Linux文件的记录形式
2012/04/18 面试题
幼儿园元旦活动感言
2014/03/02 职场文书
经济担保书范文
2014/04/02 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
先进个人评语大全
2015/01/04 职场文书
工作违纪检讨书范文
2015/01/26 职场文书
督导岗位职责
2015/02/04 职场文书
政审证明范文
2015/06/19 职场文书