Django过时了吗?从ASGI到AI时代的思考
Django过时?技术趋势变了而已,异步支持短板在AI时代更明显。生态工程化再稳,也挡不住轻量框架和ASGI的冲击。独立开发者该考虑新选择了?
目录5 个章节
前言
本文本来只是 DjangoStarter v3.2.1 新版本发布博客里的一段思考,不过越写越长,干脆拆分成一篇独立的文章得了。😄
“Django 过时了吗?”
这是一个几乎每天都能在论坛、Reddit 或知乎上看到的问题。
但仔细想想,这个问题的背后并不是“Django 变烂了”,而是技术趋势发生了变化。
异步痛点
总结下来,Django最大的问题不在于性能,应该是对异步支持不佳,这点在 AI 时代更加凸显,WSGI 似乎真有点 out 了,大模型流式输出需要 SSE,实时协作/对话需要 WebSocket,这一点上,Django 确实吃亏。
Django 可以用 python 生态的 daphne 之类的 ASGI 服务器,不过 Django ORM 到了2025年还不支持异步,导致开发起来非常痛苦。
虽然 Django 可以用 Channels + Daphne 搞定异步通信,但整个开发体验并不丝滑。这个我之前踩过坑,可以参考: 使用Django-Channels实现websocket通信+大模型对话
生态与工程化
但这并不意味着 Django 已经过时。相反,Django 的价值依然不可替代:
- 成熟的生态:几乎任何功能都有轮子(认证、后台、权限、支付…)。
- 完善的工程实践:从项目结构到配置、从安全到 ORM,Django 已经帮你想好。
- 长期验证:Instagram、YouTube 等大厂依然在用,说明它足够可靠。
Django 也在多年的发展中积累了庞大的生态,还有良好的工程实践积累。
有个说法是,“任何 python web 项目,最终都会变成 django 的样子”
这句话一点不夸张——当项目规模上来,你会发现 Django 那套东西其实最稳。
这也足以说明 Django 在开发大型项目方面的优势,而且还有 Instagram, YouTube 这类产品的背书
AI 时代的新挑战
不过,如果从 独立开发者 或 AI 原生应用 的角度看,Django 的短板就被放大了:
- 实时性:大模型交互天然依赖 SSE/WebSocket,Django 做得到,但不是天然的。
- 轻量化:像 Next.js、FastAPI 这种框架,更契合“全栈一体化 + 异步优先”的思路。
- 试错成本:Django 启动一个完整项目,成本较高,不如轻量框架灵活。
所以对我来说,虽然 DjangoStarter 还会继续维护,但我未来的新产品,未必会优先选择 Django。
结论
Django 并没有过时,它依然是一个极其稳健的选择。
- 如果你是企业团队,做的是一个中大型、长期维护的项目:Django 依旧是第一梯队框架;
- 如果你是独立开发者,目标是快速试错、探索 AI 原生应用:可能需要考虑 LiteStar、Next.js 等替代方案。
最终选择什么框架,取决于你的项目类型和目标。
对我而言,Django 不再是第一选择,但永远是我工具箱里最可靠的老伙计。
_EOF_
Django过时了吗?从ASGI到AI时代的思考
- 本文作者:
- 程序设计实验室
- 版权声明:
- 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
相关文章
Django-Filter介绍与刁钻需求的实现方法
Django-Filter是一个非常好用的第三方库,很好的利用了Django ORM的特性,可以使用很少的代码就扩展原有的接口,实现多种筛选功能~ 场景 Model定义的部分代码,可以看到需求模型包括了 关键词 keyword、区域 region、需求状态 require_status,这三个字段 class Require(models.Model): 需求 keyword =
2021-12-18 · Django · 约 1 分钟
性能提升4倍!使用Granian作为Django项目的ASGI服务器
Granian是Rust写的ASGI服务器,性能比Daphne强点,但离uWSGI还差着远?静态文件支持倒是省事。开发环境够用,生产环境还是得看情况。
2025-11-22 · Django · 约 1 分钟
Django:为模板渲染加入Markdown支持
两种方法 Django 的django-markdown-deux模块 Python模块 markdown django-markdown-deux 首先需要安装: pip install django-markdown-deux 修改setting.py 把markdown-deux添加进去 INSTALLED_APPS = [ 'markdown-deux', ] 在模板里添加tags
2022-04-02 · Django · 约 1 分钟
Django项目引入NPM和gulp管理前端资源
前言 之前写了一篇《Asp-Net-Core开发笔记:使用NPM和gulp管理前端静态文件》,现在又来用Django开发项目了,之前我搞了一个Django的快速开发脚手架「DjangoStarter」,正好给升级一下~ 关于npm和gulp我就不多重复了,之前那篇文章都写了,直接上操作 安装依赖 安装依赖的操作跟上一篇文章是一样的,不过我这里直接提供package.json文件,复制到项目根目录里
2022-04-02 · Django · 约 1 分钟
讨论
共 0 条加载评论中…