FastAPI的周下载量已经冲到7000万次的时候,Django的增速曲线平得像我家楼下修了三年没动的人行道。
说起来挺唏嘘的。这可是当年被Instagram、Pinterest扛了十几年流量的元老级Web框架啊。
从“全能大礼包”到“笨重老古董”的认知偏差
很多人对Django的第一印象是“太重了”。
其实根本不是框架重,是它的设计逻辑从根上就和现在流行的轻量框架不一样。2005年它从劳伦斯日报的内部系统抽出来开源的时候,核心目标就一个:让开发者不用从零开始拼所有组件,就能快速搭出一个能跑、能扛流量、有完整权限体系的网站。
它的MTV分层架构,把模型、模板、视图的边界划得清清楚楚,自带ORM、路由、认证系统、CSRF防护,甚至连个能直接用的后台管理界面都给你配好了。搁二十年前,这就是给创业团队发的神装——三个后端工程师,两周就能把带用户体系、内容审核、数据库交互的产品全链路跑通,换当时的其他框架,光凑这些零散的组件,就得花半个月。

但问题就出在这。它的核心设计是同步优先的,默认采用多线程模型处理请求,一个请求占一个线程资源,从底层到上层的生态,都是围绕同步请求设计的。这在2010年前后的场景里根本不是问题——那时候大家做的是内容站、电商站,每个请求的响应时间也就几百毫秒,同步处理完全扛得住。
现在呢?
大家要做的是高并发的AI推理接口、实时流式数据响应、每秒上千次调用的开放API,这些场景天生是异步的。Django的老底子碰到这些需求,就像让一个穿皮鞋跑马拉松的老运动员跟穿碳板跑鞋的年轻人比速度——不是跑不动,是装备和肌肉记忆根本不匹配。
我见过太多开发者吐槽Django性能差。说真的,其中90%的锅根本不该框架背。ORM写出来的N+1查询、循环里执行数据库操作、没做缓存就把全表数据拉到内存里,这种代码你换啥框架都快不起来。Instagram现在每天处理几十亿次请求,核心系统还是跑在Django上,人家靠优化ORM查询、调整线程池模型,把性能拉到了普通开发者想都不敢想的水平。
现在的生态位:不是被替代,是被切走了半块市场
PyPI的下载量数据摆在这里。Django现在的周下载量稳定在3000万次上下,看着绝对值不低,但连续两年的年增速已经跌到了5%以内——三年前它的年增速还在15%以上。
抢它市场的不是别的同量级Python框架,是FastAPI,还有各类Node.js轻量框架。
为啥?因为开发者的需求变了。
十年前的后端开发者,要负责从前端模板到数据库的全链路工作,Django自带的模板引擎、Admin后台、权限系统,每一样都是能省大量时间的硬通货。现在的团队,前端早就换成了React、Vue这类独立框架,后端的核心职责变成了输出标准化的API,根本不需要模板引擎,也不需要为了运营人员专门写个后台——哦不对,Django最值钱的能力,恰恰就是那个开箱即用的Admin后台系统。

你写完数据库模型,几行配置就能生成带搜索、过滤、批量操作、细粒度权限控制的后台,运营人员自己就能在上面改内容、导数据、处理用户反馈,根本不用开发再专门搭一套后台页面。这玩意省下来的人力成本,比框架省的那点服务器钱高两个数量级。
所以现在还在坚定用Django的团队,画像特别清晰:要么是有复杂内容管理需求的内容平台,要么是需要细粒度权限控制的企业级SaaS,要么是政务、教育这类对后台稳定性要求极高的系统。这些团队根本不会去追轻量框架的潮流——能用Django把开发效率提上去,就不会花几个月时间从零搭一套后台。
那被切走的半块市场是什么?是那些只需要输出简单API的团队。比如做AI应用后端的开发者,现在要接大模型接口、做流式响应、处理每秒上千次的推理请求,Django的同步模型处理流式输出的时候,光线程池的上下文切换就能吃掉一半性能,FastAPI原生的异步支持,几行代码就能把流式接口搭完,开发者当然会选更顺手的工具。还有那种一个人的小微创业项目,写个接口给小程序用,根本不需要复杂的权限体系和后台,拿FastAPI半小时就能上线,谁愿意花两天时间搭Django的环境啊。
有意思的是,现在招聘市场的风向也变了。普通开发岗的JD里,“熟悉FastAPI优先”已经成了标配,但资深后端岗的要求里,Django经验依然是硬指标——毕竟能hold住复杂业务模型、写得出高性能ORM查询、理得清多层权限逻辑的工程师,基本都是靠Django练出来的,这些能力跟用啥框架没关系。
被忽略的治理风险:开源项目的“中年惰性”
Django现在最大的问题,根本不是技术上的差距,是开源社区的治理惰性。
它的核心贡献者已经换了好几茬,最早那批从报社出来的开发者,早就离开项目去做新的东西了。现在的Django版本更新,说好听点是“稳健可靠”,说不好听点就是过于保守。从3.0版本开始喊着要做全异步支持,现在都迭代到4.2版本了,核心的ORM模块还是同步的,你要在异步视图里用ORM,还得专门开个同步线程池去跑,性能折损快到40%。
为啥不做彻底的改造?因为社区有个向后兼容性的铁则:绝对不能让跑了十几年的老项目因为版本升级就报错。要是真的把ORM改成全异步接口,那全球几百万个基于老Django版本跑的系统,不就全挂了?社区里的老用户第一个跳出来反对。
这种状态其实特别像大厂里的老员工。背着十几年的历史包袱,改什么都怕动了老系统的根基,新功能不敢加太猛,怕老用户不适应,迭代速度自然就慢下来了。你怎么跟那种刚成立两年、啥包袱没有、每周都能出新版本的新项目比?
当然,Django也不是完全没动作。最近两个版本已经开始慢慢把核心模块往异步迁,ORM的异步接口已经进了测试版,Admin界面也支持自定义前端组件了,不再是以前那个老掉牙的纯HTML界面。但它现在的定位已经很明确了:不再跟FastAPI去抢轻量API的赛道,就守好自己“复杂业务系统首选框架”的基本盘。
很多人说Django再过几年就会被淘汰。我觉得真不至于。
首先,它的基本盘稳得离谱。那些已经跑了五到十年的大型系统,根本不可能说换就换——你要是让Instagram把核心后端从Django换成别的框架,光迁移的人力成本就够养Django团队一百年,真出一次大故障,损失的流量和收入根本没法算。
其次,它的人才储备基本盘也不会丢。现在国内很多高校的计算机专业,教Python Web开发还是从Django开始讲起,每年几百万的毕业生,刚接触Web框架的时候学的是Django,就算工作之后换了别的工具,对Django的认知是刻在脑子里的。
未来3到5年,这个赛道的格局会非常清晰:
做轻量API、AI应用后端的团队,会持续向FastAPI倾斜,Django在这个细分赛道的市场份额可能会跌到现在的一半。但在企业级系统、复杂内容平台、需要强后台能力的场景里,Django的地位根本没人能撼动——毕竟那种写完模型就自动生成可用后台的能力,现在没有第二个开源框架能做到。
说句实在的。
没有哪个技术能永远站在风口上。
Django从2005年开源到现在,已经火了快20年,帮无数团队省了几十万甚至上百万的开发成本,早就够本了。
它不会消失。
只是再也不是那个所有人都围着转的行业主角了而已。
作者|大讲堂
排版|大讲堂
审核|见微
大讲堂