权限源码
if not permission.has_permission(request, self) 这里的self并不是指对象,指的是视图类的对象(view),视图类中的has_permission中有三个参数(self,request,view)
配置在视图类上一个个权限类的对象列表 [权限对象1,权限对象2]
认证源码
所以要从根上找
从request中找,去Request类中找user---》方法包装成了数据属性
因为认证类抛异常继承的是APIException,所以将只要符合APIException全部捕获。
self就是request对象,后续 request.user就是认证类返回的第一个参数
认证类可以配置多个,但是如果有一个返回了,后续的就不走了
self.authenticators 是request对象的属性,是在Request实例化的时候传入的,它什么时候实例化的,包装新的Reqeust时传入的---》APIView的dispatch--》