本文介绍了在Django的rest_framework中,AuthView类如何继承APIView并追溯至原始的view。文章详细描述了源码执行过程,包括request的初始化和加工,以及认证授权的过程。
AuthView是Django rest_framework中的一个类,它继承了APIView,而APIView又继承了view。这种继承关系使得我们可以追踪到Django的原始view。
当请求进入时,源码的第一步是执行request的初始化。这个过程首先在自定义的代码中查找,如果没有找到,则去父类中寻找。这就是在执行self.initialize_request(request, *args, **kwargs)时的工作流程。
源码执行的第二步是认证授权。这个过程详细描述了如何对请求进行身份验证和权限检查。这是保障系统安全的重要步骤。
而在class AuthView(APIView)中它继承的APIView,而APIView它有继承了view,view它在rest_framework view 中如下图:
点击view它就会到django的view中,而这个view是以前CBV 中的那个view,如下图:
请求进来它源码就是从现在开始如下:
源码的第一步:
在执行
request = self.initialize_request(request, *args, **kwargs)时,先去自己写的找,没有再去父类找,上面是自己没有就去父类找,如下图:
上面没有就去拿它的静态字段,如下图:
在这上面执行时request被加工,如下图:
源码执行的第二步: