- View,django
- APIView,drf,在请求到来时,新增了:免除csrf、请求封装、版本、认证、权限、限流的功能。
APIView是drf中 “顶层” 的视图类,在他的内部主要实现drf基础的组件的使用,例如:版本、认证、权限、限流等。
# urls.pyfrom django.urls import path, re_path, includefrom app01 import viewsurlpatterns = [path('api/users/', views.UserView.as_view()),path('api/users/<int:pk>/', views.UserDetailView.as_view()),]
# views.pyfrom rest_framework.views import APIViewfrom rest_framework.response import Responseclass UserView(APIView):# 认证、权限、限流等def get(self, request):# 业务逻辑:查看列表return Response({"code": 0, 'data': "..."})def post(self, request):# 业务逻辑:新建return Response({'code': 0, 'data': "..."})class UserDetailView(APIView):# 认证、权限、限流等def get(self, request,pk):# 业务逻辑:查看某个数据的详细return Response({"code": 0, 'data': "..."})def put(self, request,pk):# 业务逻辑:全部修改return Response({'code': 0, 'data': "..."})def patch(self, request,pk):# 业务逻辑:局部修改return Response({'code': 0, 'data': "..."})def delete(self, request,pk):# 业务逻辑:删除return Response({'code': 0, 'data': "..."})
