""" 必须是在继承 APIView 的视图下才会生效,请记住 """ from rest_framework.authentication import SessionAuthentication,BaseAuthentication from rest_framework.permissions import AllowAny,IsAdminUser,IsAuthenticated # DRF配置信息 REST_FRAMEWORK = { #1,全局认证 'DEFAULT_AUTHENTICATION_CLASSES': [ 'rest_framework.authentication.BasicAuthentication', #此身份验证方案使用HTTP基本身份验证,用于测试使用 'rest_framework.authentication.SessionAuthentication', #自己服务器认证用户 ], #2,全局权限 # 'DEFAULT_PERMISSION_CLASSES': [ # # 'rest_framework.permissions.IsAuthenticated', #普通用户 # # 'rest_framework.permissions.AllowAny', #所有用户 # 'rest_framework.permissions.IsAdminUser', #管理员户 # ], #3,全局限流 'DEFAULT_THROTTLE_CLASSES': [ 'rest_framework.throttling.AnonRateThrottle', #匿名用户 'rest_framework.throttling.UserRateThrottle' # 认证用户 ], 'DEFAULT_THROTTLE_RATES': { 'anon': '2/minute', 'user': '3/minute' } } #1,视图集 class NetworkInfoModelViewSet(ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoModelSerializer #1,局部认证 # authentication_classes = [SessionAuthentication] #2,局部权限 # permission_classes = [AllowAny] #3,局部限流 throttle_classes = [AnonRateThrottle]