随笔分类 - Django REST Framework
1
一个增删改查程序猿的自我救赎
摘要:REST framework之版本控制 一 作用 用于版本的控制 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 基于正则的方式: 源码分析
阅读全文
摘要:REST framework之URL控制 一 自定义路由 1.1 原始方式 二 半自动路由 2.1视图类继承ModelViewSet 三 全自动路由 3.1 自动生成路由
阅读全文
摘要:REST framework之分页组件 一 简单分页 查看第n页,每页显示n条 setting里 路由: Serializers 二 偏移分页 在第n个位置,向后查看n条数据 三 CursorPagination 加密分页,只能看上一页和下一页,速度快 思考:不重写类,修改类属性?
阅读全文
摘要:REST framework之频率控制 一 频率简介 为了控制用户对某个url请求的频率,比如,一分钟以内,只能访问三次 二 自定义频率类,自定义频率规则 自定义的逻辑 代码实现: python class MyThrottles(): VISIT_RECORD = {} def __init__(
阅读全文
摘要:REST framework之权限组件 一 权限简介 例如只用超级用户才能访问指定的数据,普通用户不能访问,所以就要有权限组件对其限制 二 局部使用 局部使用只需要在视图类里加入: 三 全局使用 四 源码分析 self.get_permissions() 权限类使用顺序:先用视图类中的权限类,再用s
阅读全文
摘要:REST framework之认证组件 一 认证简介 只有认证通过的用户才能访问指定的url地址,比如:查询课程信息,需要登录之后才能查看,没有登录,就不能查看,这时候需要用到认证组件 二 局部使用 (1)models层: (2)新建认证类(验证通过return两个参数) (3)view层 附:不存
阅读全文
摘要:路由Routers 对于视图集 ,我们除了可以自己手动指明请求方式与动作 之间的对应关系外,还可以使用 来帮助我们快速实现路由信息。 提供了两个 SimpleRouter DefaultRouter 一 、使用方法 1. 创建 对象,并注册视图集,例如 该视图集的路由前缀 视图集 路由别名的前缀 如
阅读全文
摘要:三大认证组件 认证Authentication 可以在配置文件中配置全局默认的认证方案 也可以在每个视图中通过设置authentication_classess属性来设置 认证失败会有两种可能的返回值: 401 Unauthorized 未认证 403 Permission Denied 权限被禁止
阅读全文
摘要:ListModelSerializer模块 一 、自定义反序列化字段 二 、模型类中自定义序列化深度 三 、接口操作总结 3.1 路由层:api/url.py 3.2模型层:api/models.py 3.3 序列化层 3.4 视图层
阅读全文
摘要:ModelSerializer组件 一 、DRF模型类序列化器 如果我们想要使用序列化器对应的是Django的模型类,DRF为我们提供了ModelSerializer模型类序列化器来帮助我们快速创建一个Serializer类。 ModelSerializer与常规的Serializer相同,但提供了
阅读全文
摘要:Serializer组件 一 、序列化器 Serializer 作用: 1. 序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串 2. 反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 3. 反序列化,完成数据校验功能 1.
阅读全文
摘要:Django视图扩展类 扩展类必须配合 使用扩展类内部的方法,在调用序列化器时,都是使用 需要自定义 、`post`等请求方法,内部实现调用扩展类对应方法即可 。 一、mixins的视图子类 作用: 提供了几种后端视图(对数据资源进行曾删改查)处理流程的实现,如果需要编写的视图属于这五种,则视图可以
阅读全文
摘要:Django视图基类 Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 一 、视图 REST framework 提供了众多的通用视图基类与扩展类,以简化视图的编写。 二 、两个视图基类 2.1 APIView API
阅读全文
摘要:一 、视图集ViewSet 使用视图集 ,可以将一系列逻辑相关的动作放到一个类中: 提供一组数据 提供单个数据 创建数据 保存数据 删除数据 视图集类不再实现 、`post() list() create()` 等。 视图集只在使用 方法的时候,才会将 action 动作与具体请求方式对应上。如:
阅读全文
摘要:解析模块 一 、源解析器的作用 根据请求头 选择对应的解析器对请求体内容进行处理。有 ,`x www form urlencoded form data`等格式 二 、源全局使用解析器 配置 配置 三 、源局部使用解析器 3.1 content type为application/json 3.2 c
阅读全文
摘要:响应模块 1. 作用 根据用户请求URL或用户可接受的类型,筛选出合适的 渲染组件。 用户请求URL: `http://127.0.0.1:8000/test.json` 2. 内置渲染器 显示 格式: 访问URL: 默认显示格式: (可以修改它的 文件) 访问URL: 表格方式: 访问URL: 表
阅读全文
摘要:请求模块 一 、CBV源码分析 二 、DRF安装与使用 2.1 安装 1. 安装 :`pip3 install djangorestframework` 2. 注册 :`INSTALLED_APPS = [..., 'rest_framework',]` 3. 基于 完成满足 规范的接口 2.2 使
阅读全文
摘要:REST Framework接口规范 一 、发展及其背景介绍 网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备…)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致 构架的流行,甚至出现 的设计思想。 是目前比较成熟的
阅读全文
摘要:Django REST Framework框架 第一章:接口规范 "接口规范" 第二章:请求响应组件 "请求组件" "响应组件" "解析组件" 第三章:序列化组件 "Serializer组件" "ModelSerializer组件" "ListModelSerializer组件" 第四章:视图组件
阅读全文
摘要:Django RESRframework Mixins, ViewSet和router配合使用 的类共有五种 他们分别对应了数据库的增、查、改、删的相应操作,使用它们的好处就是不需要再去写重复的相同的代码逻辑了,因为每个 内部都写好了对应的逻辑,只需要设置一下 和`serializer_class`
阅读全文
1