django 模版关闭转义方式
作者:youbo_sun 时间:2023-07-18 15:23:03
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()进行渲染的。
format_html和mark_safe非常类似,本质还是调用mark_safe函数,不同在于传参方式,mark_safe直接传递完整的html字符串;
而format_html需要使用{}占位符:
format_html('<span style="color:{};">{}</span>', color_code, obj.approval)
来源:https://blog.csdn.net/sun754276603/article/details/47317315
标签:django,关闭,转义
0
投稿
猜你喜欢
vue开发移动端h5环境搭建的全过程
2024-05-22 10:27:32
Python设计模式中的策略模式详解
2023-09-03 09:26:26
oracle初始化参数设置
2010-07-31 12:47:00
Python实现迷宫自动寻路实例
2021-12-22 10:00:44
python 实现二维数组的索引、删除、拼接操作
2021-03-01 10:28:08
python 动态绘制爱心的示例
2022-10-22 08:20:23
详解如何在 Linux 中安装最新的 Python 3.6 版本
2022-03-25 15:06:21
如何让vsCode显示中文界面
2023-05-31 10:22:50
Python判断以什么结尾以什么开头的实例
2021-07-31 06:42:58
Flask表单与表单验证实现流程介绍
2024-01-02 05:05:45
Vue-cli配置打包文件本地使用的教程图解
2024-05-22 10:42:05
浅谈为什么Mysql数据库尽量避免NULL
2024-01-14 10:40:54
git版本库介绍及本地创建的三种场景方式
2023-07-11 11:22:18
CentOS 6.3下安装部署Oracle服务器图文教程
2024-01-13 12:16:32
PHP中PDO事务处理操作示例
2023-11-21 14:54:12
[翻译]标记语言和样式手册 Chapter 11 打印样式
2008-02-11 18:44:00
Python获取当前函数名称方法实例分享
2023-12-22 01:16:57
使用python根据端口号关闭进程的方法
2022-12-26 01:58:41
关于Python字符编码与二进制不得不说的一些事
2022-01-07 14:56:46
mysql定时任务(event事件)实现详解
2024-01-25 13:22:18