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

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 %}

看了该文章的用户还看了

Django models 数据库数据类型有哪些
Django models 数据库数据类型有哪些

CharField如果是巨大的文本类型,可以用 TextField,该字段默认的表单样式是 TextInput,Char

django RuntimeError: 'cryptography' package is required for sha256_password or caching_sha2_password auth methods
django RuntimeError: 'cryptography' package is req

出现错误:RuntimeError: 'cryptography' package is required for sh

django (1045, "Access denied for user 'root'@'localhost' (using password:password: YES/NO)")
django (1045, "Access denied for user 'root'@'loca

在django的根目录下运行程序 python manage.py runserer或者运行python3 manage

django (2003, "Can't connect to MySQL server on 'localhost' ([Errno 61] Connection refused)
django (2003, "Can't connect to MySQL server on 'l

逐一排查问题,出现2003, "Can't connect to MySQL server on 'localhost'

Django生成数据库表时报(__init__() missing 1 required positional argument: 'on_delete')
Django生成数据库表时报(__init__() missing 1 required posit

在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,

在django admin中修改字段中文名的两种方式
在django admin中修改字段中文名的两种方式

使用django admin显示列表的时候默认会显示字段的名字,一般为英文,我们最好在定义的时候就将英文修改为自定义中文

Django如何把数据库里的html格式输出到前端
Django如何把数据库里的html格式输出到前端

只需在HTML页面中加入{% autoescape off %}即可!

Django报错HTTP status code must be an integer.
Django报错HTTP status code must be an integer.

刚刚出现这个问题,还以为是表单提交或者什么网络错误,改了render就正常了

django模型如何删除数据
django模型如何删除数据

django模型也包含增删改查,那么django模型如何删除数据呢,下面我们一起看看

django自定义404页面有什么用
django自定义404页面有什么用

django自定义404页面有什么用呢,当网站改版时,ULR经常会出现变动

发表高见 (请对您的言行负责)
©芃睿知识网 版权所有2021-2022 www.shsongjiang.com