权限介绍
只用超级用户才能访问指定的数据,普通用户不能访问,所以就要有权限组件对其限制
源码部分
权限类:
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 = []