码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-01-01 20:48:00      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:技术   pps   setting   com   main函数   命令   reload   nbsp   handler   

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启动过程之超级详细分析

标签:技术   pps   setting   com   main函数   命令   reload   nbsp   handler   

原文地址:https://www.cnblogs.com/s686zhou/p/12129592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!