-- HTML转义
# 将包含的html标签输出,而不被解释执行,原因是当显示用户提交 # 字符串时,可能包含一些攻击性的代码,如js脚本;
-- Django中自动转义的字符
# < 会转换为< # > 会转换为> # ‘ (单引号) 会转换为' # " (双引号)会转换为 " # & 会转换为 &
-- 当显示不被信任的变量时使用escape过滤器
# {{t1|escape}} 省略不写,以为Django会自动转义;
-- 关闭转义(html标签就可以被解释执行)
-- 使用safe过滤器;
# {{t1|safe}}
-- 对代码块使用autoescape标签,关闭escape过滤器的转义;
# { % autoescape off %} # {{ t1 }} # { % endautoescape %}
-- 字符串字面值
-- 字面值
# 在html页面中执行; {{ t1|default:"<b>123</b>"}} # 执行结果是加粗的‘123‘;
-- 手动转义
{{t1|default:"<b>123</b>"}} # 执行结果发生了转义;
原文地址:http://13269293.blog.51cto.com/13259293/1971677