030:spaceless和autoescape 标签
Posted zheng-weimin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了030:spaceless和autoescape 标签相关的知识,希望对你有一定的参考价值。
1、spaceless 标签:
spaceless 标签:移除html标签中的空白字符。包括空格、tab键、换行等。示例代码如下:
{% spaceless %} <p> <a href="foo/">Foo</a> </p> {% endspaceless %}
那么在渲染完成后,会变成以下的代码:
<p><a href="foo/">Foo</a></p>
spaceless 只会移除html标签之间的空白字符。而不会移除标签与文本之间的空白字符。看以下代码:
{% spaceless %} <strong> Hello </strong> {% endspaceless %}
这个将不会移除 strong 中的空白字符;注:上面内容的忘记吧!!!
2、autoescape 标签:
autoescape 标签:开启和关闭这个标签内元素的自动转义功能。自动转义是可以将一些特殊的字符。比如 < 转义成 html 语法能识别的字符,会被转义成 < ,而 > 会被自动转义成 > 。模板中默认是已经开启了自动转义的。 autoescape 的示例代码如下:
# 传递的上下文信息context = {"info":"<a href=‘www.baidu.com‘>百度</a>"}
# 模板中关闭自动转义
{% autoescape off %}
{{ info }}
{% endautoescape %}
那么就会显示百度的一个超链接。如果把 off 改成 on ,那么就会显示成一个普通的字符串。示例代码如下:
{% autoescape on %}
{{ info }}
{% endautoescape %}
注:autoescape 标签功能默认就开启了——放在xss攻击;
以上是关于030:spaceless和autoescape 标签的主要内容,如果未能解决你的问题,请参考以下文章