Django REST_framework框架 02
阿新 • • 發佈:2018-12-28
mixin類編寫檢視
urls
from app01 import views
urlpatterns = [
......
url(r'^authors/$', views.AuthorView.as_view(), name="author"),
url(r'^authors/(?P<pk>\d+)/$', views.AuthorDetailView.as_view(), name="detail_author"),
]
還要寫一個ModelSerializer,方法與上一篇博文中相同
views
from rest_framework import mixins from rest_framework import generics #GenericAPIView繼承了APIView class AuthorView(mixins.ListModelMixin, #檢視所有 mixins.CreateModelMixin, #新增 generics.GenericAPIView): queryset = Author.objects.all() serializer_class = AuthorModelSerializers def get(self, request, *args, **kwargs): return self.list(request, *args, **kwargs) def post(self, request, *args, **kwargs): return self.create(request, *args, **kwargs) class AuthorDetailView(mixins.DestroyModelMixin, #刪除 mixins.RetrieveModelMixin, #檢視單條 mixins.UpdateModelMixin, #更新 generics.GenericAPIView): queryset = Author.objects.all() serializer_class = AuthorModelSerializers def get(self, request, *args, **kwargs): return self.retrieve(request, *args, **kwargs) def put(self, request, *args, **kwargs): return self.update(request, *args, **kwargs) def delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs)