Django启动过程之超级详细分析

Posted s686zhou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django启动过程之超级详细分析相关的知识,希望对你有一定的参考价值。

1.执行python manage.py runserver 127.0.0.1:8000  命令

入口  manage.py   

技术图片

2. 进入django.core.management    __init__.py    ManagementUtility类

 技术图片

3.执行execute()方法  这是整个流程的关键点 代码

技术图片

 

 

关键1  在django.setup()中调用apps.populate方法:apps.populate(settings.INSTALLED_APPS)   

技术图片

 

 

 关键2 autocomplete()

技术图片

 

 

 关键3 run_from_argv(self.argv)

技术图片

 

 

 execute方法

技术图片

 

 

 这里的handle是 runserver的 handler方法

技术图片

 

 

run()方法

技术图片

 

 

 注意 main函数 将 self.inner_run 函数地址传过去了

main()函数

 技术图片

 

 

 python_reloader()函数

技术图片

 

 

 回到刚才的注意点  inner_run()函数

技术图片

 

 

 这里get_handler()函数  拿到wsgi.py中的 WSGI对象

技术图片

 

 

 技术图片

 

 

 wsgi.py

技术图片

 

 

 下面我们看一下run方法  启动django web

技术图片

以上是关于Django启动过程之超级详细分析的主要内容,如果未能解决你的问题,请参考以下文章

android6.0源码分析之Activity启动过程

django基本执行启动过程的源码简单分析和settings.py分环境配置

插件化知识详细分解及原理 之应用的启动过程

Android Activity 的详细启动过程分析

Android Activity 的详细启动过程分析

Android Activity 的详细启动过程分析