当前位置: 芃睿知识网 > 建站问题

django中autoescape标签使用详解

知识网2021年10月28日 17:31原创

1.autoescape标签

DTL(Django Template Language)模板中默认已经开启了自动转义,会将那些特殊字符串进行转义,比如会将“<”转义成<会将“>”转移成“>”,使用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>

运行结果如下:

关闭autoescape标签

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

开启autoescape标签

2.spaceless标签

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

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

本文章网址:https://www.shsongjiang.com/p37/

很赞哦!(4)

发表高见 (请对您的言行负责)

©芃睿知识网 版权所有 2012-2022 www.shsongjiang.com

备案号:赣ICP备2022001527号-1