zoukankan      html  css  js  c++  java
  • 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))
    ]
    """
    
  • 相关阅读:
    linux 常用命令
    git 常见命令
    合并两个有序链表---python
    Code Contract for .NET
    Kruskal最小生成树算法
    逻辑-哲学
    停机问题
    逆向工程
    .net framework
    python 类库
  • 原文地址:https://www.cnblogs.com/zhangchaocoming/p/12129945.html
Copyright © 2011-2022 走看看