谨慎使用

自动渲染语法
{{code|safe}}
urls.py 中添加对应的函数

url(r'getcode',views.getcode)
在 views.py 中添加

def getcode(request):
code = "<h2> HTML 转义示例 </h2>"
context_code = {
'code':code
}
return render(request,'getcode.html',context=context_code)
getcode.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Getcode 示例</title>
</head>
<body>
<p>
{{ code|safe }}
</p>
</body>
</html>


网站注入 js ,除非数据绝对安全,否则不要使用
{{code|safe}}
在 根目录下,创建静态文件夹, static

建立 JavaScript 文件
添加内容
alert("网站被攻陷~");
在 views.py 中添加

def getcode(request):
code = """
<h2> HTML 转义示例 </h2> <script type="text/javascript">
alert("网站被攻陷了~");
</script>
""" context_code = {
'code':code
}
return render(request,'getcode.html',context=context_code)
在 html 数据中添加

{{code|safe}} 

code 为传递过来的参数

里面有外界注入的 js 代码

 


除非数据绝对安全,不然不要使用 {{ xxx|safe}}

进行自动渲染
autoescape off
不进行自动渲染
autoescape on <body>
{% autoescape on %}
{{ code }}
{% endautoescape %}
</body>


2020-05-16

Django学习路27_HTML转义的更多相关文章

  1. Django学习路35_视图使用方法(复制的代码) + 简单总结

    from django.shortcuts import render,redirect from django.http import HttpResponse,JsonResponse from ...

  2. Django学习路34_models 文件创建数据表

    from django.db import models # Create your models here. class BookInfoManager(models.Manager): '''图书 ...

  3. Django学习路33_url 地址及删除元素 delete() 和重定向 return redirect('路径')

      保存日期 def create(request): '''新增一本图书''' # 1.创建BookInfo对象 b = BookInfo() b.btitle = '流星蝴蝶剑' b.bpub_d ...

  4. Django学习路32_创建管理员及内容补充+前面内容复习

    创建管理员 python manage.py createsuperuser   数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 ...

  5. Django学习路30_view中存在重复名时,取第一个满足条件的

    在 settings 中添加 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.con ...

  6. Django学习路21_views函数中定义字典及html中使用类实例对象的属性及方法

    创建 app6 在项目的 settings 中进行注册 INSTALLED_APPS 里面添加 'app6.apps.App6Config' 在 app6 的models.py 中创建数据表 clas ...

  7. Django学习路20_流程复习

    视频链接 https://www.bilibili.com/video/BV1rx411X717?p=21 千锋教育出品的 Django 课程                     2020-05- ...

  8. Django学习路18_F对象和Q对象

    F 对象: 可以使用模型的 A 属性和 B 属性进行比较 写法: 需要的数据对象 = 数据表(类名).objects.filter(列名__条件=F('列名2')) 需求: 查看男生数量比女生少 的公 ...

  9. Django学习路17_聚合函数(Avg平均值,Count数量,Max最大,Min最小,Sum求和)基本使用

    使用方法: 类名.objects.aggregate(聚合函数名('表的列名')) 聚合函数名: Avg 平均值 Count数量 Max 最大 Min 最小 Sum 求和 示例: Student.ob ...

随机推荐

  1. 洛谷 P2212 【[USACO14MAR]Watering the Fields S】

    一道最小生成树模板题,这里用的Kruskal算法,把每两点就加一条边,跑一遍最小生成树即可. #include <bits/stdc++.h> using namespace std; s ...

  2. 改变securecrt背景色

    下拉菜单中点击 Session Options--->

  3. Docker可视化工具Portainer

    1 前言 从没想到Docker也有可视化的工具,因为它的命令还是非常清晰简单的.无聊搜了一下,原来已经有很多Docker可视化工具了.如DockerUI.Shipyard.Rancher.Portai ...

  4. 【线型DP】CF1012C Hills 小山坡

    来了来了. 题目: 给你n个数,你一次操作可以把某一个数-1(可以减为负数),你的目标是使任意的k个数严格小于它旁边的两个数(第一个数只用严格小于第二个数,第n个数只用严格小于第n-1个数),问最少需 ...

  5. Flask路由中使用正则表达式匹配

    1.说明 由于flask并不支持直接使用正则表达式来匹配路由,我们可以使用werkzeug.routing的BaseConverter来实现 2.代码 from flask import Flask ...

  6. WPF弹性、惯性效果应用

    WPF弹性.惯性效果.已发布在了一些网站,都是这里写的 代码改编自微软示例代码库 // Copyright © Microsoft Corporation.  All Rights Reserved. ...

  7. day22 作业

    1 统计文件夹大小 def get_filesize(file_path): count = 0 res=None files_sum = os.listdir(file_path) for file ...

  8. Linux上运行安卓应用:安装使用Anbox

    文章目录 #0x0 简介 #0x1 安装教程 #0x11 第一步,安装需要的内核模块 #0x12 安装Anbox #0x2 使用Anbox #0x21 一些简单的设置 #0x22 安装APK #0x3 ...

  9. cmake安装使用

    1.安装命令: yum install -y gcc gcc-c++ make automake wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2 ...

  10. 一分钟部署nacos

    第一步:下载nacos包 https://github.com/alibaba/nacos/releases  D:\testNacos\nacos-server-1.3.0\nacos\bin 最后 ...