• drf 视图家族总结 06


    """
    1、APIView
    as_view:禁用csrf
    dispatch:请求、响应、解析、渲染、异常、三大认证
    一系列类属性:全局局部配置
    作用:drf最底层视图,所有视图类之间或间接继承该类,理论上可以完成一切接口需求
    
    2、GenericAPIView
    三个方法:get_queryset、get_serializer、get_object
    三个属性:queryset、serializer_class、lookup_url_kwarg
    作用:将与Model、Serializer以及确定唯一对象的key这些变化量交于用户自己配置,查询这些配置的逻辑封装成方法,得以复用;这样处理,使GenericAPIView类及其子类处理与Model相关的接口需求更方便
    
    3、mixins
    五个工具类:CreateModelMixin、Destroy、Update、Retrieve、List
    六个工具方法:create、destroy、update、partial_update、retrieve、list
    作用:将GenericAPIView的封装方法进行整合形参增删改查的业务逻辑
    
    4、ListAPIView...
    就是不同种类不同个数的mixins中的类与GenericAPIView类的组合,形成的子类
    作用:用户继承相应的工具视图类,进行queryset、serializer_class、lookup_url_kwarg配置,就可以完成对应功能的接口
    
    5、视图集
    ViewSetMixin类重写了as_view:
    	1) 局部禁用csrf,同APIView类的as_view
    	2) 在此基础上,还接收外界的{}参数,存在actions中,{}参数就是让用户自定义请求的映射关系
    		{'get': 'my_get'} => get请求会交给视图类的my_get函数进行处理
    ViewSet:能自定义映射的APIView子类
    GenericViewSet:能自定义映射的GenericAPIView子类
    
    6、路由组件
    from django.conf.urls import url, include
    from . import views
    from rest_framework.routers import SimpleRouter
    router = SimpleRouter()
    router.register('books', views.BookGenericViewSet, basename='book')
    urlpatterns = [
    	url(r'', include(router.urls))
    ]
    """
    
  • 相关阅读:
    网络基础,socket,黏包,socketserver
    面向对象基础、继承、反射
    模块导入,正则表达式,常见模块,异常处理
    函数基础,参数,内置函数
    文件操作
    运算符、数字、字符串、列表、字典、集合、小数据池
    python基础
    Linux
    Bioconda安装与使用
    Perl语言入门--5--散列、hash
  • 原文地址:https://www.cnblogs.com/zhangchaocoming/p/12129945.html
Copyright © 2020-2023  润新知