zoukankan      html  css  js  c++  java
  • day 80 视图家族

    1、View:将请求方式与视图类的同名方法建立映射,完成请求响应

    # 将所有 请求方式 与 响应方法名 的映射关系交给用户自己配置
    url(r'^v5/students/$', views.StudentModelViewSet.as_view({
    'get': 'list',
    'post': 'my_post'
    })),
    url(r'^v5/students/(?P<pk>d+)/$', views.StudentModelViewSet.as_view({
    'get': 'retrieve',
    'put': 'update',
    'patch': 'partial_update',
    'delete': 'destroy'
    }))
    from rest_framework.viewsets import ModelViewSet
    class StudentModelViewSet(ModelViewSet):
    queryset = models.Student.objects.all()
    serializer_class = serializers.StudentModelSerializer

    def my_post(self, request, *args, **kwargs):
    return Response('my post ok')


    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, ListModelMixin, CreateModelMixin, UpdateModelMixin, DestroyModelMixin
    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)
    某一资源的只读操作视图集

  • 相关阅读:
    响应式布局,流式布局与固定布局
    垃圾回收机制
    形象讲解时间复杂度
    数据结构和算法简介
    数据结构之栈和队列
    十、str的索引、切片和str常用的操作方法(重点)
    九、基础数类型总览和str、int、bool之间的相互转化
    八、编码的初识和进阶
    七、格式化输出和运算符
    六、while循环
  • 原文地址:https://www.cnblogs.com/wwei4332/p/11913591.html
Copyright © 2011-2022 走看看