-- 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