为模板分配的模板变量默认会进行html转义。
小于号< 转换为<
大于号> 转换为> 等
{{ 模板变量|escape }} escape表示转义,默认就是转义的,可以省略。
要关闭模板上下文字符串的转义:可以使用 {{ 模板变量|safe }}
也可以使用:
{% autoescape off %}
模板语言代码
{% endautoescape %}
模板硬编码中的字符串默认不会经过转义,如果需要转义,那需要手动进行转义。
templates/应用名/demo.html(模板文件,模板变量html转义):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>html转义</title>
</head>
<body>
模板变量默认进行html转义:<br/>
{{ content }}<br/>
使用safe过滤器关闭转义:<br/>
{{ content|safe }}<br/>
使用autoescape关闭转义(off关闭转义;on开启转义):<br/>
{% autoescape off %}
{{ content }}
{{ content }}
{% endautoescape %}<br/>
模板硬编码中的字符串默认不会经过转义:<br/>
{{ test|default:'<h1>hello</h1>' }}<br/>
手动进行转义:<br/>
{{ test|default:'<h1>hello</h1>' }}
</body>
</html>