• 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 = []
  • 相关阅读:
    左耳听风
    极客时间-算法
    极客时间-左耳听风阅读笔记
    涨知识
    学做饭
    开发流程
    线上问题复盘
    反思学习复习练习
    系统安全(转)
    单元测试
  • 原文地址:https://www.cnblogs.com/zhengyuli/p/11129721.html
Copyright © 2020-2023  润新知