![]()
#测试APIView的request
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import status
from app.models import BookInfo
from app.serializers import BookModelSerializer
#导入GenericAPIView
from rest_framework.generics import GenericAPIView
from rest_framework.mixins import ListModelMixin,CreateModelMixin,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin
class BookListMixinGenericAPIView(GenericAPIView,ListModelMixin,CreateModelMixin):
queryset = BookInfo.objects.all()
serializer_class = BookModelSerializer
def get(self,request):
'''列表视图:查询所有书籍'''
return self.list(request)
def post(self,request):
'''列表视图:创建单本书籍'''
return self.create(request)
class BookDetailMixinGenericAPIView(GenericAPIView,RetrieveModelMixin,UpdateModelMixin,DestroyModelMixin):
#提供通用属性
queryset = BookInfo.objects.all()
serializer_class = BookModelSerializer
lookup_url_kwarg = 'book_id'
def get(self,request,book_id):
'''详情视图:查询一本书籍'''
return self.retrieve(request)
def put(self,request,book_id):
'''修改一本书籍'''
return self.update(request)
def delete(self,request,book_id):
'''删除一本书籍'''
return self.destroy(request)