rest-framework之权限组件

权限介绍

只用超级用户才能访问指定的数据,普通用户不能访问,所以就要有权限组件对其限制

源码部分

 

权限类:

class MyPermission():
    def has_permission(self,request,view):
        if  request.user.user_type == 1:
            return True
        else:
            return False

视图类:

class Books(APIView):
    # authentication_classes = [类名,类名]
    #只有超级用户才能访问此接口
    permission_classes = [MyPermission,]
    def get(self,request):
        print(request.user.name)
        return Response('返回所有图书')

如果是普通用户登录返回的是个英文错误信息,要把他转换成中文

只要在了方法上面价格message

需要继承

from rest_framework.permissions import BasePermission

 局部使用

permission_classes = [MyPermission,]

全局使用

因为是个列表,直接后面加上

REST_FRAMEWORK={
    "DEFAULT_AUTHENTICATION_CLASSES":["app01.MyAuths.MyAuth",],
    "DEFAULT_PERMISSION_CLASSES":["app01.MyAuths.MyPermision",]
}

局部禁用

permission_classes = []

猜你喜欢

转载自www.cnblogs.com/zhengyuli/p/11129721.html