• 【1122 | Day64】drf视图大家族及用法介绍


    drf框架|视图家族

    1. Views | 视图类

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

    1)APIView

    • View的所有功能
    • 重写as_view禁用csrf认证
    • 重写dispatch:请求、响应、渲染、异常、解析、三大认证
    • 多了一堆类属性,可以完成视图类的局部配置

    2) GenericAPIView

    • APIView的所有功能

    • 三个属性:

      • queryset
      • serializer_class
      • lookup_url_kwarg
    • 三个方法:

      • get_object( ):获取单个(根据pk)
      • get_queryset( ):获取所有
      • get_serializer(*args, **kwargs):获取指定常用的几个参数
        • data:用于反序列化传参
        • many:获取多个序列化对象
        • instance:如果save执行,则更新方法;反之,创建方法
        • partial:True则进行局部字段修改;默认False

    2. mixins | 视图工具类

    • 五大工具类
      • RetrievModelMixin
      • ListModelMixin
      • CreateModelMixin
      • UpdateModelMixin
      • DestroyModelMixin
    • 六大工具方法
      • retrieve >>> 单取
      • list >>> 群取
      • create >>> 单增
      • update >>> 单整体改
      • partial_update >>> 单局部改
      • destroy >>> 单删

    3. generics | 工具视图类

    一堆mixins工具类与GenericAPIView视图基类组合

    4. 视图集基类

    1)ViewSet(ViewSetMixin,APIView):可以自定义映射关系的APIView

    2)GenericViewSet(ViewSetMixin,GenericAPIView):可以自定义映射关系的GenericAPIView

    5. ViewSetMixin | 视图集工具

    重写as_view( ),完成请求方式与视图方法的自定义映射

    as_view({'get': 'my_get'})
    

    6. 常用Model视图集

    1)ModelViewSet(mixins.CreateModelMixin,

    mixins.RetrievModelMixin,

    mixins.UpdateModelMixin,

    mixins.DestroyModelMixin,

    mixins.ListModelMixin,

    GenericViewSet):某一资源的六大操作视图集

    2)ReadOnlyModelViewSet(mixins.RetrievModelMixin,

    mixins.ListModelMixin,

    GenericViewSet):某一资源的只读操作视图集

  • 相关阅读:
    leetcode 11. 盛最多水的容器
    gluoncv 导入方式
    python import
    leetcode 55.跳跃游戏
    leetcode 31. 下一个排列
    gluoncv 下载预训练模型速度太慢
    gluoncv voc_detection
    shuf 按行打乱文本命令
    __call__
    @property 装饰器
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11913754.html
Copyright © 2020-2023  润新知