当前位置: 首页 > news >正文

2025年了,在 Django 之外,Python Web 框架还能怎么选?

前言

大家好,我是曦远~

前段时间我写过一篇文章 《Django过时了吗?从ASGI到AI时代的思考》,聊到在 AI 时代下,传统全家桶式框架(比如 Django)该如何面对新趋势。

最近在翻新 DjangoStarter 项目的时候,我顺便做了一些调研,发现 Python Web 生态的变化比我想象得还要快。

一方面,老牌选手 Django 也有了像 Ninja 这样的新鲜外挂;另一方面,如果不走 Django 全家桶路线,还有一批正在崛起的轻量级框架和工具,把 Python Web 推向了一个新的阶段:轻量化 + 异步优先 + Rust 加持

所以这篇文章,我就来聊聊 2025 年值得关注的几个新选择:LiteStar、Tortoise ORM、Granian 和 Robyn

LiteStar

LiteStar 是一个基于 ASGI 的新兴框架,定位有点像 FastAPI 的进化版。

  • 优点:类型提示完整、依赖注入自然、性能不错。
  • 缺点:脱离 Django 生态后,ORM/后台管理都要自己选配。
  • 适合人群:独立开发者、小型项目,追求轻量 + 灵活。

我在试用的时候,最大的感觉是:写法清爽,没有 Django 那么多历史包袱。

后续我会拿 LiteStar 来开发一个正式的项目试试水。

到时再来分享一波。

异步 ORM

脱离了 Django 生态,最不习惯的应该就是 ORM。

LiteStar 没有内置 ORM,那选谁?我个人推荐 Tortoise ORM

这玩意写法和 Django ORM 非常像

class Event(Model):id = fields.IntField(pk=True)name = fields.CharField(max_length=255)start_time = fields.DatetimeField()

是不是有点眼熟?

对 Django 用户来说学习成本很低。

  • 优点:异步原生,写法和 Django ORM 一致。
  • 缺点:生态规模不如 Django ORM,社区活跃度有待观察。

如果习惯了 Django ORM,但又想要 async/await,Tortoise ORM 是个不错的选择。

Granian

Rust 驱动的高性能服务器

部署层面,我最近发现一个新玩意:Granian

  • 用 Rust 写的 ASGI 服务器,比 Uvicorn/Daphne 更快。
  • 可以直接处理静态文件,很多场景下连 Nginx 都不用。
  • 内置多 worker,部署流程更简单。

换句话说:一次性代替 Daphne + Nginx

我准备在 DjangoStarter 的后续实验里用 Granian 来跑,看看能不能省下一层反向代理。毕竟最近正头疼 DjangoStarter 的 Nginx 配置要如何优雅整合 URL Prefix 功能呢🤣

Robyn

Python 写法 + Rust 性能

另一个值得关注的是 Robyn。它的思路是:用 Rust 写底层 runtime,用 Python 提供 API 层。

这样既有 Python 的易用性,又能跑到接近 Node.js/Rust 框架的性能。

  • 内置路由、静态文件、模板
  • 高性能异步 runtime
  • 对开发者友好,写法接近 Flask/FastAPI

看起来是个很酷的框架,把 Python 的易用性 + Rust 的性能结合起来,一言以蔽之就是「生产力与速度兼顾」,感觉也可以玩一玩

小结

2025 的 Python Web 生态,已经不只是 Django vs Flask vs FastAPI。

新的趋势是:

  • 框架更轻量(LiteStar)
  • ORM 原生异步(Tortoise)
  • 部署层更快更简单(Granian)
  • Rust 加持性能(Robyn)

我的感受是:Django 依然重要,但新框架给独立开发者和小团队带来了更多可能性

未来我会在实际项目里试试 Robyn 和 Granian,看看能不能让 Python 写法 + Rust 性能落地。

http://www.wxhsa.cn/company.asp?id=7111

相关文章:

  • AtCoder Beginner Contest 423
  • SRAM和DRAM的特点和区别
  • xml基本语法
  • Java25新特性
  • Day17多维数组
  • C++ lambda 匿名函数
  • D拼数
  • 20250917 - WETToken 攻击事件:价格操控产生的套利空间
  • 题解:P6798 「StOI-2」简单的树
  • 题解:P11704 [ROIR 2025] 旅行路线
  • 题解:P11292 【MX-S6-T4】「KDOI-11」彩灯晚会
  • 算法课程第一周作业
  • 实测对比:权威榜单之微信排版Top 5编辑器大揭秘
  • 自建仓库推送到NAS采用 Docker Registry 工作流
  • 【汇编和指令集 . 第2025 . 9期】发现大牛
  • Opencompass避坑日记
  • 随笔 | 农场、小猴子、香蕉
  • Day17数组的使用
  • 完整教程:缓存与数据库一致性的4大坑及终极解决方案
  • Rust的Cargo用法详解 - 详解
  • 串行通信接口标准(TTL、CMOS、RS232、RS422、RS485、CAN等)
  • 攻防世界-IgniteMe - xxx
  • C 语言 之 面向对象(一)
  • for_switch
  • 快速幂
  • 模拟退火
  • 记录我见过的神人
  • DOS指令学习
  • 动态SQL
  • 调教分块代码