GenericAPIView
from rest_framework.generics import GenericAPIView
class BookAPIView(GenericAPIView):
queryset = models.Books.objects
serializer_class = BookSerializers
def get(self, request, pk):
response_dic = utils.MyResponse()
book = self.get_object()
book_ser = self.get_serializer(instance=book)
response_dic.data = book_ser.data
return Response(response_dic.dict)
def put(self, request, pk):
response_dic = utils.MyResponse()
book = self.get_object()
book_ser = self.get_serializer(instance=book, data=request.data)
if book_ser.is_valid():
book_ser.save()
response_dic.data = book_ser.data
else:
response_dic.code = 99
response_dic.msg = '校验不通过'
response_dic.data = book_ser.errors
return Response(response_dic.dict)
def delete(self, request, pk):
response_dic = utils.MyResponse()
self.get_object().delete()
return Response(response_dic.dict)
class BooksAPIView(GenericAPIView):
queryset = models.Books.objects
serializer_class = BookSerializers
def get(self, request):
response_dic = utils.MyResponse()
book = self.get_queryset()
book_ser = self.get_serializer(instance=book, many=True)
response_dic.data = book_ser.data
return Response(response_dic.dict)
def post(self, request):
response_dic = utils.MyResponse()
book_ser = self.get_serializer(data=request.data)
if book_ser.is_valid():
book_ser.save()
response_dic.data = book_ser.data
else:
response_dic.code = 99
response_dic.msg = '校验失败'
response_dic.data = book_ser.errors
return Response(response_dic.dict)