[Day 23] - Django-REST-Framework Concrete View Classes 介绍

前言

上一篇中我们学习到了 GenericAPIView 以及 Mixins 的使用,让我们建立 RESTful API 时可以选用以及拼装相对应得 view 以及 Mixins ,如此产生应用。而 DRF 进一步将相关功能封装成 Concrete View classes 供开发者调用。

Concrete View Classes 介绍

Concrete View Classes 基本上是由 GenericAPIView 进行延伸,针对不同功能混合成一个 View class。

使用方法

使用方法其实也就像我们过去使用的 GenericAPIView 。

  • 将 Model 物件指派给 queryset
  • 指派 Serializers 让 Request 以及 model 可以互相进行沟通

以 Concrete View Classes 中的 ListCreateAPIView 为例进行操作

from rest_framework import generics
from .models import Product
from .serializers import ProductSerializer


class ProductListCreateAPIView(generics.ListCreateAPIView):
    queryset = Product.objects.all().order_by("id")
    serializer_class = ProductSerializer

如此可以建立好具有 list 以及 create 功能之 API 。

Concrete View 种类

除了上述之 ListCreateAPIView 之外,DRF 本身内建许多非常实用的 Concrete View Classes, 我们可以根据我们的需求选用。

  • CreateAPIView
  • ListAPIView
  • RetrieveAPIView
  • DestroyAPIView
  • UpdateAPIView
  • ListCreateAPIView
  • RetrieveUpdateAPIView
  • RetrieveDestroyAPIView
  • RetrieveUpdateDestroyAPIView

结语

Concrete View Classes 将 GenericAPIView 以及 Mixins 的功能进行整合,让我们在选择建立 API 工具又多了一种方式可以供我们选择~


<<:  【DAY 22】为什麽每天可以有这麽多问题? Microsoft Power Virtual Agents 智慧虚拟助理帮帮我~

>>:  Day22:今天来聊一下如何建立及管理 Azure Sentinel 工作区

HTML笔记(05)-HTML基本语法

前面说了一堆废话(但我觉得应该是颇需要厘清的架构吧~), 现在就把HTML的内容物列出来真正踏进去撰...

【Day 27】- 再爬一次 Dcard ?(实战向 Dcard API 发出请求)

前情提要 昨天实战了分析了 CDC 官网,并找到了一个 API 能够查看确诊人数,并写个小程序向其发...

数字认证(Digital Authentication)

以下是《数字身份准则》(NIST SP 800-63-3)的摘录: . 在数字认证申请人拥有并控制一...

Day 19 印章文字

印章文字 教学原文参考:印章文字 这篇文章会介绍在 GIMP 里使用遮罩、文字...等功能,做出一个...

Day 17【ethers.js】ETHER. ETHER EVERYWHERE.

【前言】 这两天来记录 ethers.js 我觉得蛮重要的一些学习笔记,今天主要聚焦在一些常见名词...