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

相关推荐
deephub3 分钟前
TPU 架构与 Pallas Kernel 编程入门:从内存层次结构到 FlashAttention
人工智能·python·深度学习·tpu
薛定谔的猫喵喵3 分钟前
卸载 Python 3.8 报错 “Could not set file security” 的终极解决方案
开发语言·python
墨尔本、晴8 分钟前
[Django-web]1.环境准备
python·django
多租户观察室15 分钟前
工作流新生态:2026年工作流与Coding的重新分工
前端·人工智能·后端·低代码
智算菩萨30 分钟前
OpenCV色彩空间转换实战:BGR转HSV/LAB的工业应用场景详解(含自动化脚本)
人工智能·python·opencv·计算机视觉·自动化·音视频
Carsene31 分钟前
开源项目文档架构设计:Git Submodule 实现文档与代码的优雅分离
前端·后端
曲幽32 分钟前
别再数据线了!用FastAPI 5分钟搭个局域网文件+剪贴板神器
python·fastapi·web·async·clipboard·fileupload
AbsoluteLogic35 分钟前
Python——必学内置模块 OS
python
sqyno1sky39 分钟前
游戏与图形界面(GUI)
jvm·数据库·python
用户83562907805144 分钟前
Python 实现 Word 文档图片插入与排版技巧
后端·python