码迷,mamicode.com
首页 > Web开发 > 详细

Django模板——html转义

时间:2017-10-12 22:54:33      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:模板   django   html转义   

-- HTML转义

# 将包含的html标签输出,而不被解释执行,原因是当显示用户提交
# 字符串时,可能包含一些攻击性的代码,如js脚本;

-- Django中自动转义的字符

# < 会转换为&lt;
# > 会转换为&gt;
# ‘ (单引号) 会转换为&#39;
# " (双引号)会转换为 &quot;
# & 会转换为 &amp;

-- 当显示不被信任的变量时使用escape过滤器

# {{t1|escape}} 省略不写,以为Django会自动转义;


-- 关闭转义(html标签就可以被解释执行)

-- 使用safe过滤器;

# {{t1|safe}}

-- 对代码块使用autoescape标签,关闭escape过滤器的转义;

# { % autoescape off %}
# {{ t1 }}
# { % endautoescape %}


-- 字符串字面值

-- 字面值

# 在html页面中执行;
{{ t1|default:"<b>123</b>"}}
# 执行结果是加粗的‘123‘;


-- 手动转义

{{t1|default:"&lt;b&gt;123&lt;/b&gt;"}}
# 执行结果发生了转义;


Django模板——html转义

标签:模板   django   html转义   

原文地址:http://13269293.blog.51cto.com/13259293/1971677

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!