Python中autoescape标签使用详解

Posted guyan-2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python中autoescape标签使用详解相关的知识,希望对你有一定的参考价值。

1.spaceless标签:移除html标签中的空白字符。包括空格、tab键、换行符,示例代码如下:

{% spaceless %}具体内容{% endspaceless %}

2.autoescape标签:DTL模板中默认已经开启了自动转义,会将那些特殊字符串进行转义,比如会将“<”转义成<会将“>”转移成“>”,使用DTL的自动转义,可以使网站不容易出现XSS漏洞。

如果变量是可信任的,那么可以使用“autoescape”标签来关掉 自动转义,示例代码如下:
views.py中代码如下:
from django.shortcuts import render


def index(request):
    # 定义一个上下文
    context = {
        "info":"<a href='https://wwww.baidu.com'>百度</a>"
    }
    return render(request,'index01.html',context=context)
index01.html中代码如下:
<body>
<!--此时关掉了DTL模板中的自动转义功能-->
    {% autoescape  off %}
        {{ info }}
    {% endautoescape %}
</body>

运行结果如下:
技术图片
查看不关掉DTL自动转义功能时,运行结果如下:
技术图片

如果想要查看特殊字符被转义为什么了,就可以通过查看网页源码进行查看。

以上是关于Python中autoescape标签使用详解的主要内容,如果未能解决你的问题,请参考以下文章

Python中verbaim标签使用详解

Python中url标签使用详解

Python中with标签的使用详解

39.Python模板结构优化-引入模板include标签模板继承使用详解

026:if标签使用详解

027:for标签使用详解