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实现按行切分文本文件的方法
Apr 18 Python
Python的标准模块包json详解
Mar 13 Python
对Python中一维向量和一维向量转置相乘的方法详解
Aug 26 Python
Python Django模板之模板过滤器与自定义模板过滤器示例
Oct 18 Python
python对文件的操作方法汇总
Feb 28 Python
PyTorch加载自己的数据集实例详解
Mar 18 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
Mar 23 Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
Apr 15 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
Python 中如何写注释
Aug 28 Python
Python request中文乱码问题解决方案
Sep 17 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函数的方法
2013/11/13 PHP
php编写的一个E-mail验证类
2015/03/25 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
javascript基础知识大集锦(一) 推荐收藏
2011/01/13 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
2013/08/05 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
JavaScript学习心得之概述
2015/01/20 Javascript
JavaScript编程中的Promise使用大全
2015/07/28 Javascript
jquery实现平滑的二级下拉菜单效果
2015/08/26 Javascript
微信小程序开发一键登录 获取session_key和openid实例
2016/11/23 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Python使用MD5加密字符串示例
2014/08/22 Python
Django自定义过滤器定义与用法示例
2018/03/22 Python
Python 实现两个服务器之间文件的上传方法
2019/02/13 Python
Python和Java的语法对比分析语法简洁上python的确完美胜出
2019/05/10 Python
python SVM 线性分类模型的实现
2019/07/19 Python
Python流程控制 if else实现解析
2019/09/02 Python
python实现贪吃蛇双人大战
2020/04/18 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
html5+css如何实现中间大两头小的轮播效果
2018/12/06 HTML / CSS
uniapp+Html5端实现PC端适配
2020/07/15 HTML / CSS
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
创业计划书怎样才能打动风投
2014/01/01 职场文书
清明节扫墓活动方案
2014/03/02 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
期末个人总结范文
2015/02/13 职场文书
学子宴致辞大全
2015/07/27 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
总结Python变量的相关知识
2021/06/28 Python