Python autoescape标签用法解析

yipeiwu_com5年前Python基础

这篇文章主要介绍了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设计】。

相关文章

Python中使用双下划线防止类属性被覆盖问题

Python中使用双下划线防止类属性被覆盖问题

在使用Python编写面向对象的代码时,我们会常常使用“继承”这种开发方式。例如下面这一段代码: class Info: def __init__(self): pass...

python Django中models进行模糊查询的示例

多个字段模糊查询, 括号中的下划线是双下划线,双下划线前是字段名,双下划线后可以是icontains或contains,区别是是否大小写敏感,竖线是或的意思 #搜索功能 @csrf_...

Pycharm学习教程(7)虚拟机VM的配置教程

Pycharm学习教程(7)虚拟机VM的配置教程

设想这样一种情况,你在一个平台上操作你的工程,但你希望在另外一个平台上完善并运行它,这就是为什么Pycharm做了很多工作来支持远程调试。   在虚拟机上运行一个工程主要包含以下步骤:...

Django 忘记管理员或忘记管理员密码 重设登录密码的方法

看到标题就知道有逗比忘了密码。。。没错就是我。 你也忘了密码? 不要着急! 0x00: 第一步:运行django shell python3 manage.py shell 0x0...

几种实用的pythonic语法实例代码

前言 python 是一门简单而优雅的语言,可能是过于简单了,不用花太多时间学习就能使用,其实 python 里面还有一些很好的特性,能大大简化你代码的逻辑,提高代码的可读性。 所谓Py...