
Django源码阅读
莫尔索随笔
小厂AI产品研发,LLM技术科普作者,略懂产品,更多内容在同名公众号:莫尔索随笔
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Django源码阅读(1)浅谈runserver的执行过程
入口manage.py 文件if __name__ == '__main__': os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings') try: from django.core.management import execute_from_command_line excep...原创 2019-05-06 10:29:53 · 1467 阅读 · 0 评论 -
Django源码阅读(2)INSTALLED_APPS加载过程
再次回到上节刚开始的 execute 函数,接下来我们就回过头来分析一下 django.setup() 函数,看看它里面是如何进行加载配置的 。# django\core\management\__init__.pydef execute(self): ... if settings.configured: # Start the auto-reloadin...原创 2019-05-06 13:07:09 · 1689 阅读 · 0 评论 -
Django 源码阅读(3): settings配置加载
继续看execute() 函数,分析下 settings.INSTALLED_APPS 作用机制,看看作为可能在整个 web 程序起配置作用的配置模块是如何构建的. try: options, args = parser.parse_known_args(self.argv[2:]) handle_default_options(options) ...原创 2019-05-06 14:49:27 · 1021 阅读 · 0 评论 -
Django 源码阅读(5):从请求到响应,Django是怎么做的
设置请求句柄接着第一节继续,显然runserver实现了自己的handle函数。handle 首先会做一些设置参数的错误检查,然后进入run函数,判断能否自动重载后就执行inner_run,可以重点分析下它。#django\core\management\commands\runserver.py def handle(self, *args, **options): ...原创 2019-05-06 20:44:56 · 337 阅读 · 0 评论 -
Django 源码阅读(6):Django中WSGI协议的具体实现过程
上一节提到过 run(self.addr, int(self.port), handler, ipv6=self.use_ipv6, threading=threading, server_cls=self.server_cls) 函数,一个标准的 WGSI 实现,这次就具体分析一下。django WSGI applicationhandle()在django\core\manageme...原创 2019-05-07 08:53:51 · 931 阅读 · 0 评论 -
Django 源码阅读(4):Django中自动加载机制
django 监听文件变化实现自动重载,流程大致是这样的:django 程序启动的时候,会启动两个进程(不是线程),在主线程上,监听文件的变化,当发现有文件变化时,重新启动子进程;而那个子进程就是具体的 web 服务。...原创 2019-05-07 14:57:56 · 1054 阅读 · 0 评论 -
Django rest framework源码阅读(2)----CBV模式
CBV基于反射实现根据请求方式不同,执行不同的方法CBV 类需要继承 rest franework 提供的 APIView,APIView 继承自 Django的 views.generic.base.View,所以CBV继承自Django的View。请求到达Django会先执行Django中间件里的方法,然后进行进行路由匹配,在路由匹配完成后,会执行CBV类中的as_view方法,CBV中并...原创 2019-06-27 17:10:14 · 226 阅读 · 0 评论 -
Django rest framework源码阅读(1)----请求流程
CBV的dispatch方法当请求到达的时候,首先会被CBV中定义的dispatch处理。 # Note: Views are made CSRF exempt from within `as_view` as to prevent # accidental removal of this exemption in cases where `dispatch` needs to...原创 2019-06-28 15:49:13 · 386 阅读 · 0 评论