权限组件
权限组件和认证组件一样,都是用了相同的模式,全局和局部
由BasePermission类给我提供接口 接口函数为 has_permission 以及 has_object_permission
有权限返回True 没有则返回False,默认的权限类为如下
from rest_framework.permissions import BasePermission # 允许任何人访问 class AllowAny(BasePermission): """ Allow any access. This isn't strictly required, since you could use an empty permission_classes list, but it's useful because it makes the intention more explicit. """ def has_permission(self, request, view): return True
还封装了一些权限类,只允许admin用户访问的权限,只给认证的用户权限等等,请走源码........
使用示例
service.permissions.py:
from rest_framework.permissions import BasePermission class SvipPermissions(BasePermission): message="您没有权限,只有Svip用户才可以访问" #源码规定如果你定义message即没有权限提示,否则就用默认的None def has_permission(self,request,abc):#这个abc参数名没有什么要求,只是源码中有两个参数,这里也要有两个参数 if request.user.user_type==3: return True else: return False