随笔分类 -  Django源码

摘要:Django源码目录 Django中自动重载机制的实现 Django 从入口到请求到响应 Django settings懒加载 Django app的加载过程 Django WSGI 初探 Django中服务器结构演变 Django 深入理解WSGI协议 阅读全文
posted @ 2024-08-13 17:41 鲸鱼的海老大 阅读(4) 评论(0) 推荐(0) 编辑
摘要:起步 根据前面的分析实在是有太多太多 Handler ,绕来绕去,今天就从头整理,将一个最基础的服务器慢慢改成类似 django 的服务器结构。 从 simple_server 说起 根据 django 运行的服务器 django.core.servers.basehttp 的 run 函数,我们也 阅读全文
posted @ 2024-08-13 17:41 鲸鱼的海老大 阅读(10) 评论(0) 推荐(0) 编辑
摘要:起步 在第一章说到,django 使用 WSGIServer 作为内置服务器软件,这个类的实现在 django/core/servers/basehttp.py 文件中定义,这个类继承自 wsgiref.simple_server.WSGIServer 。django中自带的各种 ServerHan 阅读全文
posted @ 2024-08-13 17:41 鲸鱼的海老大 阅读(20) 评论(0) 推荐(0) 编辑
摘要:上一篇介绍到了 Settings 的懒加载机制,配置懒加载也就完成了,程序就回到 execute 函数,接下去就是运行 django.setup() 函数了。 django.setup() 启动程序 这个代码在 django/__init__.py 中: def setup(set_prefix=T 阅读全文
posted @ 2024-08-13 17:41 鲸鱼的海老大 阅读(18) 评论(0) 推荐(0) 编辑
摘要:关于动态导入模块(importlib) 动态导入模块方法1: __import__ 说明: 1. 函数功能用于动态的导入模块,主要用于反射或者延迟加载模块。 2. __import__(module)相当于import module 举例说明: 首先创建一个模块目录lib,然后在目录内创建一个模块为 阅读全文
posted @ 2024-08-13 17:40 鲸鱼的海老大 阅读(51) 评论(0) 推荐(0) 编辑
摘要:起步 在我研究完 django 的自动加载机制后,有了阅读 django 源码的想法。那就看看吧,也不知道能坚持到什么地方。我阅读的版本也是我正在使用的 1.10.5 版本,算是比较新的了。 一般运行 django 程序都是通过: python manage.py runserver 开始的,那我们 阅读全文
posted @ 2024-08-13 17:40 鲸鱼的海老大 阅读(60) 评论(0) 推荐(0) 编辑
摘要:经过分析,它的流程大致是这样的,django 程序启动的时候,会启动两个进程(不是线程),在主线程上,监听文件的变化,当发现有文件变化时,重新启动子进程;而那个子进程就是具体的 web 服务。 两个进程 关于重载的实现方式在 django/utils/autoreload.py 中,重启的设置在 p 阅读全文
posted @ 2024-08-13 17:40 鲸鱼的海老大 阅读(75) 评论(0) 推荐(0) 编辑
摘要:起步 惭愧啊,惭愧啊,距离上一篇这个系列的文章已经是半年前的了,随着 Django2.0 的发布,感觉之前分析的 1.10.5 版本似乎有点老了,我看了一下,好在和我前面文章分析的内容差异不大,基本上也是可以就着前面的分析内容来品尝最新的 django 代码。 那我接下来阅读的版本就从当前能获取的 阅读全文
posted @ 2024-08-13 13:54 鲸鱼的海老大 阅读(78) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示