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 @   s686编程传  阅读(921)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示