前言

本文本来只是 DjangoStarterv3.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 不再是第一选择,但永远是我工具箱里最可靠的老伙计。

Django过时了吗?从ASGI到AI时代的思考的更多相关文章

  1. Python 为何能坐稳 AI 时代头牌语言

    原文链接:https://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247487055&idx=2&sn=ca0fe8740 ...

  2. AI时代:推荐引擎正在塑造人类

    We shape our tools and afterwards our tools shape us. ------Marshall McLuhan 麦克卢汉说:"我们塑造了工具,反过来 ...

  3. DataPipeline CTO陈肃:从ETL到ELT,AI时代数据集成的问题与解决方案

    引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为<从ETL到ELT,AI时代数据集成的问题与解决方案>的分享,本文根据陈肃分享内容整理而成. 大家好 ...

  4. AI时代大点兵-国内外知名AI公司2018年最新盘点

    AI时代大点兵-国内外知名AI公司2018年最新盘点 导言 据腾讯研究院统计,截至2017年6月,全球人工智能初创企业共计2617家.美国占据1078家居首,中国以592家企业排名第二,其后分别是英国 ...

  5. 3星|《腾讯产业森林:AI时代的创业密码》:后半部分是较详细的创业指南,前面泛泛介绍腾讯、AI

    腾讯产业森林:AI时代的创业密码 前半部分泛泛介绍腾讯对创业者的支持,腾讯支持的创业项目的案例.AI的一些基本介绍,后半部分是比较详细的写给创业者的各阶段行动与选择的指南. 总体评价3星,有一些参考价 ...

  6. AI时代,还不了解大数据?

    如果要问最近几年,IT行业哪个技术方向最火?一定属于ABC,即AI + Big Data + Cloud,也就是人工智能.大数据和云计算. 这几年,随着互联网大潮走向低谷,同时传统企业纷纷进行数字化转 ...

  7. 云计算和AI时代,运维应该如何做好转型?

    云计算和AI时代,运维应该如何做好转型? 今天我们来聊一聊,在云计算和AI时代,运维应该如何做好转型?今天的内容可以说是我们前面运维组织架构和协作模式转型的姊妹篇.针对运维转型这个话题,谈谈我的思考和 ...

  8. 王磊:AI 时代物流行业的 OCR 应用

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ OCR 是人工智能里面非常重要的基础能力之一.腾讯云人工智能产品总监王磊,结合物流场景解读了OCR技术."OCR文本识别能够优化 ...

  9. 从互联网进化的角度看AI+时代的巨头竞争

    今天几乎所有的互联网公司在谈论和布局人工智能,收购相关企业.人工智能和AI+成为当今科技领域最灸手可热的名词,关于什么是AI+,其概念就是用以表达将"人工智能"作为当前行业科技化发 ...

  10. NIUDAY 11.23 北京站抢票啦 | 看 AI 落地行业 享 AI 时代红利

    2018 年是见证「奇迹」的一年.AI 从多年的热门话题中开始走下神坛,逐渐深入到了各个行业,加速经济结构优化及行业智慧化升级,AI 已不再是难以企及的神话而是可触摸的美好未来. 政策支持加上资本推动 ...

随机推荐

  1. 将有父子关系的多个map写到一起。将子孙放到父级节点中,每个节点都会关联起来(使用list和map)

    此方法效率较低,推荐查看博客 研究将有pid和id的List<Map<String,Map>>组成树 import java.util.ArrayList; import ja ...

  2. 企业微信公众号本地调试auto2.0

    适配开发者工具 企业微信公众号.微信公众号本质相同,因为我在开发企业号,所以拿企业号为例 首先添加企业应用 然后进入改应用,配置主页.网页授权及JS-SDK.企业微信授权登录 注意企业微信不允许配置l ...

  3. SCAU 2019年校赛 部分题解

    点击下方 veiw code 查看完整代码 18438 First Blood 题意:\(\sum_{i=1}^a\)\(\sum_{j=1}^b\)(i+j) , 求和. 思路:签到题,照着题目A就 ...

  4. Codeforces Round #665 (Div. 2) ABC题解

    A. Distance and Axis 题意:给出OX坐标上OA的长度,每次可以将A移动一个单位,问最少多少次可以找出坐标B的整数解使得 | OB - AB | = k. 思路:分类讨论. 1.若B ...

  5. 支持API自动化测试,实现复杂的测试场景并输出报告

    老旧的系统需要与新的业务系统进行衔接,内部与外部的API需要相互调用,云上云下要互联互通等等.企业在数字化转型中会面临着种种.对于传统的集成技术而言难以突破的复杂集成技术难题.RestCloud iP ...

  6. RestCloud ETL社区版序列号相关咨讯

  7. SciTech-Mathmatics-Trigonometric function三角函数-基础知识 + Number Theory数论 + Set Theory集合论{有限集(与自然数集1:1对应), 权势, 无限集}

    数论: 在 周长为 \(1\pi\) (半径为1/2) 的圆上, 任选一点作为0点, 顺时针有序放置所有的\(\large N自然数\), Question: 什么情况会出现重合的两个自然数点 ? S ...

  8. babylon.js 学习笔记(4)

    按上回继续,上节知道了如何用 『方块+三棱柱+贴图』结合起来,画一个简单的小房子,实际应用中可以把这3个打包在一起,组成1个house对象,这样更方便一些 const buildHouse = () ...

  9. Win11正式版为什么时间无法修改的问题

    有一位雨林木风官网使用windows11正式版系统的用户,看到电脑上的时间跟手机的时间对不上,就想要校正,却提示无法修改时间的问题,那该怎么办呢?实际上解决起来也很简单,下面就跟ylmf系统小编一起来 ...

  10. Python数据结构 List(列表)、Tuple(元组)、Dictionary(字典)

    List(列表):[]列表是最常用的 Python 数据类型,它以一个方括号内的逗号分隔值出现.列表属于可变数据类型,字符串.整数.浮点数.布尔类型属于不可变数据类型.列表的数据项不需要具有相同的类型 ...