摘要:
第九篇:DRF之分页器、ip频率限制、生成接口文档 一、分页器 当我们查看所有数据时,需要对数据进行一个分页。drf提供了三种分页方式。 我们可以是使用from rest_framework.pagination import PageNumberPagination,LimitOffsetPagi 阅读全文
摘要:
第八篇:DRF之图书数据的增删查改【练习】 一、数据表 1、数据表的书写 为了进行测试,我们建立下面的数据表。 """models.py""" from django.db import models # 表基类:因为许多表都有相同的字段 class BaseModel(models.Model): 阅读全文
摘要:
第七篇:DRF之异常处理和封装Response 一、异常处理 1、异常处理源码分析 我们发现django的内置的异常处理,接口并不统一,并且处理的不符合我们的要求,所以,我们需要自定义一个异常处理方法,来替换掉全局的异常处理。 全局的异常处理函数可以在from rest_framework.view 阅读全文
摘要:
第六篇:DRF之权限、频率、过滤、排序 一、权限 1、权限的源码分析 有时,我们需要对用户设置一定的访问权限,比如管理员用户、会员用户和普通用户等,不同的用户有不同的访问权限。 我们可以从源码中得到解决方案。首先,从APIView > dispatch方法 > self.initial(reques 阅读全文
摘要:
第五篇:DRF之认证组件 一、认证的书写步骤 """步骤""" 写一个类,继承BaseAuthentication,重写类中的重写authenticate方法,认证的逻辑写在其中。 如果认证通过,返回两个值,一个值最终给了Requet对象的user。一个值给了Requet对象的auth。 如果认证失 阅读全文
摘要:
第四篇:DRF之路由控制 一、手动配置路由 我们现在视图类中这样进行书写。 """views.py""" """基于ModelViewSet实现5个接口""" from rest_framework.viewsets import ModelViewSet class BookView5(Model 阅读全文
摘要:
第三篇:DRF之视图组件 一、请求和响应 1、请求 我们再看一遍源码,使用from rest_framework.request import Request导入Request。内部实现如下所示。 下面,确保了可以按照原生的request取数据。 """重要方法""" 【这里的request是新的r 阅读全文
摘要:
第二篇:DRF之序列化组件 一、序列化器-Serializer 1、作用 1. 序列化:序列化器会把表模型对象转换成字典,经过response以后返回json字符串 2. 反序列化:把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型 3. 反序列化:完成数据校验功能 阅读全文
摘要:
第一篇:DRF之介绍与源码分析 一、web开发模式 1、前后端不分离 我们以前的django项目,html页面是在后端进行模板的渲染,之后再返回给前端一个完整的html页面。【js代码除外,需要在浏览器进行渲染,所以js代码中不建议使用模板语法】。具体的流程如下。 2、前后端分离 随着发展,前后端不 阅读全文