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脚本日志功能
Aug 14 Python
python去除字符串中的换行符
Oct 11 Python
python字典快速保存于读取的方法
Mar 23 Python
Python数据结构之哈夫曼树定义与使用方法示例
Apr 22 Python
详解python 破解网站反爬虫的两种简单方法
Feb 09 Python
利用python实现逐步回归
Feb 24 Python
django迁移文件migrations的实现
Mar 31 Python
python 字典item与iteritems的区别详解
Apr 25 Python
利用Python实现朋友圈中的九宫格图片效果
Sep 03 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 Python
python反扒机制的5种解决方法
Feb 06 Python
Python可视化学习之matplotlib内置单颜色
Feb 24 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
制作美丽的拉花
2021/03/03 冲泡冲煮
php读取数据库信息的几种方法
2008/05/24 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
2010/12/02 Javascript
基于KMP算法JavaScript的实现方法分析
2013/05/03 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
jQuery中delegate和on的用法与区别详细解析
2014/01/26 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
jsp网页搜索结果中实现选中一行使其高亮
2014/02/17 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
简单总结JavaScript中的String字符串类型
2016/05/26 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
微信小程序 富文本转文本实例详解
2016/10/24 Javascript
Bootstrap面板学习使用
2017/02/09 Javascript
Javascript网页抢红包外挂实现分享
2018/01/11 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
2018/08/08 jQuery
python方向键控制上下左右代码
2018/01/20 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
matplotlib 对坐标的控制,加图例注释的操作
2020/04/17 Python
Restful_framework视图组件代码实例解析
2020/11/17 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
美国知名的在线旅游服务网站:Priceline
2016/07/23 全球购物
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
答谢会策划方案
2014/05/12 职场文书
初二数学教学反思
2016/02/17 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL