iT邦幫忙

2021 iThome 鐵人賽

DAY 23
0
Software Development

使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用系列 第 23

[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 工具又多了一種方式可以供我們選擇~


上一篇
[Day22] - Django-REST-Framework GenericAPIViews 和 Mixins 介紹
下一篇
[Day24] - Django-REST-Framework User Management
系列文
使用Django Rest Framework, Docker, Docker Compose 製作後端服務應用30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言