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

posted @ 2020-01-01 19:33  s686编程传  阅读(802)  评论(0编辑  收藏  举报