• View,django
    • APIView,drf,在请求到来时,新增了:免除csrf、请求封装、版本、认证、权限、限流的功能。

    APIView是drf中 “顶层” 的视图类,在他的内部主要实现drf基础的组件的使用,例如:版本、认证、权限、限流等。

    1. # urls.py
    2. from django.urls import path, re_path, include
    3. from app01 import views
    4. urlpatterns = [
    5. path('api/users/', views.UserView.as_view()),
    6. path('api/users/<int:pk>/', views.UserDetailView.as_view()),
    7. ]
    1. # views.py
    2. from rest_framework.views import APIView
    3. from rest_framework.response import Response
    4. class UserView(APIView):
    5. # 认证、权限、限流等
    6. def get(self, request):
    7. # 业务逻辑:查看列表
    8. return Response({"code": 0, 'data': "..."})
    9. def post(self, request):
    10. # 业务逻辑:新建
    11. return Response({'code': 0, 'data': "..."})
    12. class UserDetailView(APIView):
    13. # 认证、权限、限流等
    14. def get(self, request,pk):
    15. # 业务逻辑:查看某个数据的详细
    16. return Response({"code": 0, 'data': "..."})
    17. def put(self, request,pk):
    18. # 业务逻辑:全部修改
    19. return Response({'code': 0, 'data': "..."})
    20. def patch(self, request,pk):
    21. # 业务逻辑:局部修改
    22. return Response({'code': 0, 'data': "..."})
    23. def delete(self, request,pk):
    24. # 业务逻辑:删除
    25. return Response({'code': 0, 'data': "..."})