组件类(返回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']
}