Django框架之drf
一、drf知识点整合
1、drf入门及规范
# 1 drf 入门规范
-前后端分离模式
-前后端混合
-postman
-restful规范
-drf:django的app
2、序列化类(重点)
-Serializer
-字段类
-字段参数
-局部钩子
-全局钩子
-定制返回格式
-1 序列化类中写:SerializerMethtoField
-2 在表模型中写
-many=True # 指定后为多个queryset对象
-ModelSerializer:create,update
-class Meta:
-model
-fields
-extra_kwargs
-重写字段
-反序列化校验源码----》forms
3、请求和响应
# 1、请求
-请求类源码:新的request
-请求能解析的编码格式
# 2、响应
-相应对象源码:data,headers,status
-响应格式
4、视图组件(重要)
# 两个试图基类
APIView
GenericAPIView
# 5个视图扩展类
RetrieveModelMixin,
UpdateModelMixin,
DestroyModelMixin,
ListModelMixin,
# 9个视图子类
CreateAPIView
ListAPIView
RetrieveAPIView
DestroyAPIView
UpdateAPIView
ListCreateAPIView
RetrieveUpdateAPIView
RetrieveDestroyAPIView
# 视图集
GenericViewSet
ModelViewSet
ReadOnlyModelViewSet
ViewSet
ViewSetMixin
5、路由写法
# ViewSetMixin
-映射写法
# 自动生成写法
-action装饰器
6、认证、频率、权限(重点)
# 认证
rest_framework.authentication
# 频率
rest_framework.throttling
# 权限
rest_framework.permissions
7、过滤、分页
-过滤:
内置 #模糊查询
第三方 # 精准查询
自定义 # 自定义
-排序:
内置
-分页:
三个分页类
PageNumberPagination # 标准分页器
CursorPagination # 偏移分页
CursorPagination # 游标分页
8、全局异常捕获
# APIView--->dispatch:
-三大认证
-全局异常捕获
# 配置全局异常
1、def common_exception_handler(exc, context):
pass
2、# 在配置文件中配置
REST_FRAMEWORK = {
'EXCEPTION_HANDLER': 'app01.exceptions.common_exception_handler',
}
9、接口文档
接口文档所需内容:
1、描述:
对视图类/函数的功能及用法描述
2、地址:
请求地址(url路由)
3、请求方式:
功能的请求方式(例如:post、get)
4、请求编码格式:
json、form-data、urlencode。。。
5、请求数据类型:(必填)
字段的类型(例如:int、str、list)
6、返回格式案例:
返回的数据的格式案例
7、返回字段解释:
对每个字段的解释
8、错误码:
公司内部定义的错误码
10、JWT(重点)
# djangorestframework-jwt
JWP由三部分组成:
头部(header)
荷载(payload)
签名(signature)
11、alc、rbac
# alc
基于用户权限控制
# rbac
是基于角色的访问控制(Role-Based Access Control )
12、simpleui使用
# 安装
pip install django-simpleui
# 配置
INSTALLED_APPS = [
'simpleui',] # 项目中配置
# 登录