#权限 #创建一个权限类 在view添加列表 class MyPermission(object): #message 表示权限决绝时返回的数据 message = "必须是SVIP" def has_permission(self, request, view): if request.user.user_type != 3: return False return True #有权访问 permission_classes = [MyPermission,] #局部使用 在utils里创建permission.py 文件 from api.utils.permission import Mypermission #全局使用 REST_FRAMEWORK = { "DEFAULT_PERMISSION_CLASSES":['api.utils.auth.SVIPPermission'] } 源码流程 -has_permission(self,request, view) 内置代码 from rest_framework.permissions import BasePermission #必须继承BasePermission 必须实现 has_permission 方法 返回值: True 有权访问 False 无权访问 一般不抛出异常 直接通过 message可以实现无权时,页面显示信息 BasePermission(object): def has_permission(self, request, view): return True def has_object_perssion(self, request, view, obj): return True class SVIPPermission(BasePermission): #message 表示权限决绝时返回的数据 message = "必须是SVIP" def has_permission(self, request, view): if request.user.user_type != 3: return False return True #有权访问