-- HTML转义

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

-- Django中自动转义的字符

# < 会转换为<
# > 会转换为>
# ' (单引号) 会转换为'
# " (双引号)会转换为 "
# & 会转换为 &

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

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


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

-- 使用safe过滤器;

# {{t1|safe}}

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

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


-- 字符串字面值

-- 字面值

# 在html页面中执行;
{{ t1|default:"123"}}
# 执行结果是加粗的'123';


-- 手动转义

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