drf 视图类、Content_type(数据库优化)

复习

""" 视图家族
1、View:将请求方式与视图类的同名方法建立映射,完成请求响应
2、APView:
	1)View的所有功能;
  	2)重写as_view禁用csrf认证;
  	3)重写dispatch:请求、响应、渲染、异常、解析、三大认证
	4)多了一堆类属性,可以完成视图类的局部配置

3、GenericAPIView:
	1)APView的所有功能
	2)三个方法:get_object()、get_queryset()、get_serializer()
    3)三个属性:queryset、serializer_class、lookup_url_kwarg
    
4、mixins包:
	1)五大工具类:RetrieveModelMixin(retrieve), ListModelMixin(list), CreateModelMixin(create), UpdateModelMixin(updata,partial_update), DestroyModelMixin(destroy)
	2)六大工具方法:retrieve、list、create、update、partial_update、destroy
   
5、generics包:
	1)一堆mixins工具类与GenericAPIView视图基类组合
	
6、ViewSetMixin
	1)重写as_view(),完成请求方式与视图方法的自定义映射
		as_view({'get': 'my_get'})
		
7、视图集基类:
	ViewSet(ViewSetMixin, APIView):可以自定义映射关系的APIView
	GenericViewSet(ViewSetMixin, GenericAPIView):可以自定义映射关系的GenericAPIView
	
8、常用Model视图集
	1)ModelViewSet(mixins.CreateModelMixin,
                   mixins.RetrieveModelMixin,
                   mixins.UpdateModelMixin,
                   mixins.DestroyModelMixin,
                   mixins.ListModelMixin,
                   GenericViewSet)
    	某一资源的六大操作视图集
    	
    2)ReadOnlyModelViewSet(mixins.RetrieveModelMixin,
                           mixins.ListModelMixin,
                           GenericViewSet)
        某一资源的只读操作视图集
"""

Content_type

# 给Django中的所有模块中的所有表进行编号存储到content_type表中
# 应用一:权限表的权限是操作表的,所有在权限表中有一个content_type表的外键,标识该权限具体操作的是哪张表
# 应用二:价格策略

"""
Course:
name、type、days、price、vip_type
基础	免费课  7		0
中级	学位课	 180	69
究极	会员课	 360    	 至尊会员


Course:
name、type、days、content_type_id
基础	免费课  7	  null
中级	学位课	 180   1
究极	会员课	 360   2

app01_course_1
id、price

app01_course_2
id vip_type

content_type表(Django提供)
id、app_label、model
1	app01	 course_1
2	app01	 course_2
"""

知识点总结

"""
1、认证、权限、频率的工作原理
基础哪个类、重写哪个方法、方法的实现体要完成什么事

2、自定义User表
继承AbstractUser、配置AUTH_USER_MODEL、配置admin(UserAdmin密文操作密码)

3、一个需要登录后的群查接口UserList、一个获取LoginAPIView成功的Token

4、LoginAPIView要根据请求的usr、pwd交给序列化类,全局校验得到 user、token
	签发token的算法
	
5、自定义认证类,校验token
	校验token的算法
	
6、自定义权限类
	指定权限规则

7、登录接口必须完成所有认证权限局部禁用,权限接口在权限类中局部配置自定义认证权限类(或在全局配置)
"""

A作业(必做)

"""
1、整理今天所学知识点
	核心:签发token和校验token算法,自定义认证类和权限类,视图类配置自定义认证类和权限类

2、新建项目,实现LoginAPIView,完成账号密码登录签发token给前台

3、基于User表,写一个 个人中心接口(这个接口可以访问用户所有信息,密码就用八个#填充),该接口需要登录就可以访问(自定义认证类完成token校验,权限类系统有提供),不同的用户访问得到的是该用户的详情信息
"""

B作业(选做)

"""
1、基于A作业需求,写一个修改用户密码的接口,修改密码后,用新密码测试登录
"""
posted @ 2019-12-03 09:44  Micheal_L  阅读(238)  评论(0)    收藏  举报