rest-framework之权限组件

Posted zhengyuli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 = []

 

以上是关于rest-framework之权限组件的主要内容,如果未能解决你的问题,请参考以下文章

Django rest-framework框架-组件之路由

基于Django的Rest Framework框架的序列化组件

rest-framework框架的基本组件

rest-framework之版本控制

rest-framework之url控制

rbac基于角色的权限控制组件目录