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',]  # 项目中配置
    
# 登录