摘要: APIView的基本使用 1.先下载一个模块 安装drf:pip3 install djangorestframework # 需要注意的是django版本的和下载的模块的版本适配问题 导入模块:from rest_framework.views import APIView # 这里需要注意路由的 阅读全文
posted @ 2022-09-26 22:20 Hsummer 阅读(98) 评论(0) 推荐(0) 编辑
摘要: APIView源码解析 入口也是as_view()apiview的as_view 里面调用了一个super()方法 调用父类的as_view 返回了一个csrf_exempt(viwe) # 备注:所有的请求没有csrf的校验了 在函数上加上装饰器防止csrf的报错 本质就相当于这个csrf_exe 阅读全文
posted @ 2022-09-26 21:20 Hsummer 阅读(36) 评论(0) 推荐(0) 编辑
摘要: API接口 前后端分离的开发模式: 客户端和服务端采用restful API的交互方式进行交互 前后端代码库分离,前端代码可以进行mock测试 能够独立开发和测试 后端则用postman接口测试软件测试,以保证API的可用性 降低集成风险 API接口 类似于view函数 连接前端和url的 通过网络 阅读全文
posted @ 2022-09-23 19:29 Hsummer 阅读(82) 评论(0) 推荐(0) 编辑
摘要: CG机制 python的垃圾回收机制,简称GC python中主要通过三种方式解决垃圾回收的方式: 1.引用计数:如果有新的引用指向对象,对象引用计数就加一,引用被销毁时,对象引用计数就减一,当用户的引用计数为0时,该内存被释放 2.标记清除:首先标记对象(垃圾检测),然后清除垃圾(垃圾回收) 初始 阅读全文
posted @ 2022-09-18 15:46 Hsummer 阅读(20) 评论(0) 推荐(0) 编辑
摘要: csrf跨站请求伪造 介绍 1.简介 钓鱼网站:假设是一个跟银行一模一样的网址页面 用户在该页面上转账 账户的钱会减少 但是受益人却不是自己想要转账的那个人 2.模拟 一台计算机上两个服务端不同端口启动 钓鱼网站提交地址改为正规网站的地址 3.预防 csrf策略:通过在返回的页面上添加独一无二的标识 阅读全文
posted @ 2022-09-13 23:23 Hsummer 阅读(50) 评论(0) 推荐(0) 编辑
摘要: cookie和session简介 由http引入 http协议四大特性: 1.基于请求响应(必须要由用户先发出请求否则不会响应) 2.基于TCP、IP作用于应用层之上的协议 3.无状态 服务端无法识别客户端的状态 (为了让服务端保存状态 就有了cookie和session) 4.无连接 # 保存在客 阅读全文
posted @ 2022-09-10 18:28 Hsummer 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 批量操作数据 浏览器访问一个django路由 立刻创建10万条数据并展示到前端页面 create()、all() 涉及到大批量数据的创建 直接使用create可能会造成数据库崩溃 批量数据创建>>>:bulk_create() 批量数据修改>>>:bulk_update() def index(re 阅读全文
posted @ 2022-09-08 23:07 Hsummer 阅读(20) 评论(0) 推荐(0) 编辑
摘要: Ajax简介 # ajax其实就是js自带的功能,不是一门新的技术,我们学习的是jQuery封装之后的版本 不用form表单与前端用户交互 ajax的主要功能是异步提交局部刷新,与form表单的区别是不需要提交按钮,后台自动刷新,有一个异步回调机制 # 基础语法 使用的时候需要先导入jQuery $ 阅读全文
posted @ 2022-09-08 16:36 Hsummer 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 正反向进阶查询 '''在filter括号内也可以使用正反向查询''' 1.数据对象点正反向概念 2.values点正反向 3.filter括号内使用正反向 eg: models.Book.objects.filter(publish__pk=1).values('publish_name','pub 阅读全文
posted @ 2022-09-07 16:12 Hsummer 阅读(75) 评论(0) 推荐(0) 编辑
摘要: 表查询数据准备及测试环境搭建 sqllite3 django自带sqllite3小型数据库 该数据库功能非常有限,并且针对日期类型的数据兼容性很差 django切换MySQL数据 django1.x 版本的 需要在__init__文件导入模块 import pymysql pymysql.insta 阅读全文
posted @ 2022-09-05 23:22 Hsummer 阅读(258) 评论(0) 推荐(0) 编辑