django的RestFramework模块的源码分析

时间:2021-11-30 07:49:10

一.APIView源码分析

查看源码的前提要知道,找函数方法必须先在自己的类中找,没有再往父类找,一层一层网上找,不能直接按ctrl点击

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

在我们自己定义的类中没有as_view方法的函数,所以肯定是继承了AIPView,那我们就去看下

django的RestFramework模块的源码分析

view = super(APIView, cls).as_view(**initkwargs)

其中这句代码表示,最后它执行的是父类中的as_view方法,APIView类继承了原View类,所以查看View类中的as_view方法

django的RestFramework模块的源码分析

由于APIView类中有自己的dispatch方法,所以是执行自己类中的dispatch

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

点进大写的Request()可以看到封装后的request属性中有一个_request,这个是原生的request

所以我们可以在视图类中查看原生request

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

在Request类中,从写了__getattr__方法,所有在视图函数中,可以找到原来的method和大写的POST,GET

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

二.认证功能源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

三.权限功能源码分析

原理和认证差不多,不详细介绍了

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

四.访问频率功能源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

django的RestFramework模块的源码分析

最后看一下,是怎么获取settings中的配置

django的RestFramework模块的源码分析