21 Django模板 - HTML转义

简介: 21 Django模板 - HTML转义

Django对字符串进行自动HTML转义,如在模板中输出如下值:

视图代码:
def index(request):
    return render(request, 'temtest/index2.html',
                  {
                      't1': '<h1>hello</h1>'
                  })
模板代码:
{{t1}}

显示效果如下图:

1.会被自动转义的字符

  • html转义,就是将包含的html标签输出,而不被解释执行,原因是当显示用户提交字符串时,可能包含一些攻击性的代码,如js脚本
- Django会将如下字符自动转义:
< 会转换为&lt;
> 会转换为&gt;
' (单引号) 会转换为&#39;
" (双引号)会转换为 &quot;
& 会转换为 &amp;

当显示不被信任的变量时使用escape过滤器,一般省略,因为Django自动转义

{{t1|escape}}

2.关闭转义

对于变量使用safe过滤器

{{ data|safe }}

对于代码块使用autoescape标签

{ % autoescape off %}
{{ body }}
{ % endautoescape %}

标签autoescape接受on或者off参数

自动转义标签在base模板中关闭,在child模板中也是关闭的

3.字符串字面值

手动转义:

{ { data|default:"<b>123</b>" }}

应写为:

{ { data|default:"&lt;b&gt;123&lt;/b&gt;" }}
目录
相关文章
|
15天前
|
缓存 Java 应用服务中间件
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
这篇文章详细介绍了在SpringMVC中创建JSP页面的全过程,包括项目的创建、配置、Tomcat的设置,以及如何实现页面跳转和配置模板解析器,最后还对比了JSP和HTML模板解析的差异。
SpringMVC入门到实战------七、SpringMVC创建JSP页面的详细过程+配置模板+实现页面跳转+配置Tomcat。JSP和HTML配置模板的差异对比(二)
|
3天前
|
前端开发 JavaScript 数据库
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
|
5天前
|
JSON 数据处理 API
Django后端架构开发:视图与模板的正确使用
Django后端架构开发:视图与模板的正确使用
9 1
|
12天前
|
前端开发 Python
Django模板
【8月更文挑战第19天】
23 3
|
18天前
|
自然语言处理 前端开发 数据处理
Django的模板系统
【8月更文挑战第13天】
22 2
|
3天前
|
安全 JavaScript 前端开发
Django入门到放弃之模板及标签
Django入门到放弃之模板及标签
|
3月前
404错误页面源码,简单实用的html错误页面模板
小编精心准备一款404错误页面源码,简单实用的html错误页面模板,简单大气的页面布局,可以使用到不同的网站中,相信大家一定会喜欢的
37 2
404错误页面源码,简单实用的html错误页面模板
|
3月前
|
数据库 数据安全/隐私保护 Python
Web实战丨基于django+html+css+js的电子商务网站
Web实战丨基于django+html+css+js的电子商务网站
55 3
|
3月前
|
前端开发 安全 数据安全/隐私保护
Web实战丨基于django+html+css+js的在线博客网站
Web实战丨基于django+html+css+js的在线博客网站
54 2
|
3月前
|
存储 前端开发 测试技术
Web实战丨基于django+html+css的在线购物商城
Web实战丨基于django+html+css的在线购物商城
52 2