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发送email的3种方法
Apr 28 Python
Django如何实现内容缓存示例详解
Sep 24 Python
查看django版本的方法分享
May 14 Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 Python
python能做什么 python的含义
Oct 12 Python
python多继承(钻石继承)问题和解决方法简单示例
Oct 21 Python
python [:3] 实现提取数组中的数
Nov 27 Python
python数据库编程 ODBC方式实现通讯录
Mar 27 Python
使用python创建生成动态链接库dll的方法
May 09 Python
Python xpath表达式如何实现数据处理
Jun 13 Python
python语言中有算法吗
Jun 16 Python
pandas针对excel处理的实现
Jan 15 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实现的click captcha点击验证码类实例
2014/09/23 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
php+laravel依赖注入知识点总结
2019/11/04 PHP
预加载css或javascript的js代码
2010/04/23 Javascript
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
原生的html元素选择器类似jquery选择器
2014/10/15 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
浅谈关于axios和session的一些事
2017/07/13 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
JS实现图片切换特效
2019/12/23 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
jquery更改元素属性attr()方法操作示例
2020/05/22 jQuery
JS实现密码框效果
2020/09/10 Javascript
python+selenium+autoit实现文件上传功能
2017/08/23 Python
Python实现购物系统(示例讲解)
2017/09/13 Python
谈谈Python中的while循环语句
2019/03/10 Python
Python搭建代理IP池实现接口设置与整体调度
2019/10/27 Python
pygame实现五子棋游戏
2019/10/29 Python
Python3交互式shell ipython3安装及使用详解
2020/07/11 Python
python如何写try语句
2020/07/14 Python
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
旅游管理专业学生求职信
2013/09/28 职场文书
音乐表演专业毕业生求职信
2013/10/14 职场文书
普通大学毕业生自荐信
2013/11/04 职场文书
社团招新策划书
2014/02/04 职场文书
《学会合作》教学反思
2014/04/12 职场文书
教师评语大全
2014/04/28 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
财务个人年度总结范文
2015/02/26 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python