Django的runserver

当年执行 python manage runserver命令时

1. 先执行 runserver 中的 handle方法

2. 执行 self.run()方法

3. 执行 self.inner_run()

3.1 inner_run 下 run方法的封装

3.1.1 接着看 handle 怎么来的 封装了一个方法 接着找返回函数
3.1.2在 basehttp 下
3.1.3 get_wsgi_application() 是wsgi.py下的方法
3.1.4 WSGIHandler (django.core.handlers.wsgi.WSGIHandler) 继承 base.BaseHandler

3.2 import_string() 是 django.utils.module_loading 的 import_string方法

3.3 接着看 self.server_cls 是 django.core.servers.basehttp import WSGIServer导入的

Django 在这部分代码中通过自定义的 WSGIServer 类与 WSGI 服务器进行关联。

具体来说,Django 使用 WSGIServer 作为服务器基础类,它继承了 wsgiref.simple_server.WSGIServer,并且根据需要扩展了相关功能,例如支持 IPv6 和定制错误处理等。

4. run()封装好了 接着开始执行

4.1 httpd.set_app(wsgi_handler)

set_app 执行的是 from wsgiref.simple_server import WSGIServer 下的方法

4.2 httpd.serve_forever()

serve_forever 执行的是 from socketserver import BaseServer

相关推荐
小鹿学程序1 分钟前
jdk配置完之后java -version还是默认的jdk版本如何更改
java·开发语言·python
用户99045017780096 分钟前
ruoyi-vue2集成DMN规则引擎实现Dish出餐决策
后端
Pyeako6 分钟前
Python数据可视化--matplotlib库
python·matplotlib·数据可视化·画图·pylab
m0_7048878911 分钟前
Day 35
python·深度学习·机器学习
华研前沿标杆游学17 分钟前
参观深圳比亚迪总部,探索科技,感受中国“智”造魅力
python
爱打代码的小林26 分钟前
python基础(逻辑回归例题)
开发语言·python·逻辑回归
qq_2147826133 分钟前
pandas“将”迎来v3.0.0大版本更新!
python·pandas
dagouaofei34 分钟前
长文档也能转成PPT:AI自动拆分章节并生成页面
人工智能·python·powerpoint
IT_陈寒36 分钟前
SpringBoot 3.2 实战:用这5个新特性让你的API性能提升40%
前端·人工智能·后端
五仁火烧1 小时前
安装rust开发环境
开发语言·后端·rust