上一篇中我們學習到了 GenericAPIView 以及 Mixins 的使用,讓我們建立 RESTful API 時可以選用以及拼裝相對應得 view 以及 Mixins ,如此產生應用。而 DRF 進一步將相關功能封裝成 Concrete View classes 供開發者調用。
Concrete View Classes 基本上是由 GenericAPIView 進行延伸,針對不同功能混合成一個 View class。
使用方法其實也就像我們過去使用的 GenericAPIView 。
以 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 。
除了上述之 ListCreateAPIView 之外,DRF 本身內建許多非常實用的 Concrete View Classes, 我們可以根據我們的需求選用。
Concrete View Classes 將 GenericAPIView 以及 Mixins 的功能進行整合,讓我們在選擇建立 API 工具又多了一種方式可以供我們選擇~