专栏名称: Python学习交流
每天更新,更新python相关的知识。希望诸君有所收获!
目录
相关文章推荐
Python爱好者社区  ·  英伟达憾失DeepSeek关键人才?美国放走 ... ·  昨天  
Python爱好者社区  ·  离谱!下载DeepSeek最高判刑20年? ·  2 天前  
Python爱好者社区  ·  多模态,杀疯了 ·  2 天前  
Python开发者  ·  o3-mini 碾压 DeepSeek ... ·  6 天前  
Python开发者  ·  请立即拿下软考证书(政策风口) ·  4 天前  
51好读  ›  专栏  ›  Python学习交流

Django最牛逼,史上强无敌!最详细的教程!框架认证源码分析!

Python学习交流  · 公众号  · Python  · 2018-02-11 15:09

主要观点总结

本文介绍了在Django的rest_framework中,AuthView类如何继承APIView并追溯至原始的view。文章详细描述了源码执行过程,包括request的初始化和加工,以及认证授权的过程。

关键观点总结

关键观点1: AuthView类继承了APIView和view

AuthView是Django rest_framework中的一个类,它继承了APIView,而APIView又继承了view。这种继承关系使得我们可以追踪到Django的原始view。

关键观点2: 源码执行的request初始化

当请求进入时,源码的第一步是执行request的初始化。这个过程首先在自定义的代码中查找,如果没有找到,则去父类中寻找。这就是在执行self.initialize_request(request, *args, **kwargs)时的工作流程。

关键观点3: 源码执行的认证授权过程

源码执行的第二步是认证授权。这个过程详细描述了如何对请求进行身份验证和权限检查。这是保障系统安全的重要步骤。


正文

而在class AuthView(APIView)中它继承的APIView,而APIView它有继承了view,view它在rest_framework view 中如下图:

点击view它就会到django的view中,而这个view是以前CBV 中的那个view,如下图:

请求进来它源码就是从现在开始如下:

源码的第一步:

在执行 request = self.initialize_request(request, *args, **kwargs)时,先去自己写的找,没有再去父类找,上面是自己没有就去父类找,如下图:

上面没有就去拿它的静态字段,如下图:

在这上面执行时request被加工,如下图:

源码执行的第二步:







请到「今天看啥」查看全文