drf 权限组件 简单使用

组件类(返回True为通过)

from rest_framework.permissions import BasePermission
class DemoPermission(BasePermission):
    # 自定义失败的返回信息
    message = {"status": False, 'code': 10002, 'msg': '无权'}
    def has_permission(self, request, view):
        import random
        if random.randint(0, 1):
            return False
        return True

视图类

class OrderView(APIView):
    # 登记方式一
    permission_classes = [DemoPermission]
    def get(self, request):
        print(request.user, request.auth)
        return Response({'status': 'OrderView'})

settings内

REST_FRAMEWORK = {
    "UNAUTHENTICATED_USER": None,
    # 默认是并且的关系
    "DEFAULT_PERMISSION_CLASSES":['ext.per.DemoPermission']
}

image

posted @ 2022-10-01 16:47  Sherwin_szw  阅读(14)  评论(0编辑  收藏  举报