整理国内开发者主导、基于 Python 的 CMS / 内容管理系统,区分成熟项目、轻量、Headless 无头 CMS,同时标注技术栈、特点、现状。
1. Django‑based(Django 生态,占绝大多数)
(1) Django‑CMS
国际项目,但国内大量使用,社区中文资料多
- 技术:Django
- 特点:页面拖拽可视化编辑,插件体系强,适合企业官网、门户;支持多语言
- 现状:持续维护,适合二次开发,不适合开箱即用零代码。
(2) Wagtail(国外,国内广泛落地)
- 技术:Django
- 特点:现代无头 / 传统 CMS,后台体验优秀,适合新闻、资讯、企业站;支持 REST API 做前后端分离
- 国内很多政企、媒体网站基于 Wagtail 二次开发。
(3) 知了 CMS(ZhiliaoCMS)
- 技术:Django + Mysql
- 国内开源项目
- 定位:企业官网 CMS,栏目管理、文章、图集、表单,后台中文,开箱即用。
- Gitee 开源,面向中小企业站点。
(4) Djangoblog / Typeidea(知达博客 CMS)
- 技术:Django
- 定位:博客、轻资讯 CMS,标签、分类、评论、搜索,适合个人博客、小型资讯站。
(5) SimpleCMS
- 国内 Django 轻量 CMS,简单企业内容管理,适合快速搭建官网。
2. FastAPI 现代 Python CMS(新一代,前后端分离 / Headless)
(1) Strapi⚠️注意:Strapi 是 Node.js,不是 Python,很多人混淆
(2) FastAPI‑Admin 配套内容管理方案
FastAPI‑Admin 是国内开源后台框架,很多人基于它二次开发 CMS
- 技术:FastAPI + SQLAlchemy + Vue3 前端
- 不是完整成品 CMS,是后台脚手架,自己扩展文章、栏目、模型;国内项目,活跃度高。
很多国内自研 CMS 底层基于 FastAPI‑Admin。
(3) Piccolo‑CMS
- Python 异步 (Starlette),国外,国内少量使用,Headless CMS。
3. 国内可直接部署成品 Python CMS(Gitee/GitHub 国产)
- zhiliaocms 知了 CMS
Django,国产成品 CMS,企业站,gitee 可搜,完整后台,模板系统。 - pycms(多个同名项目,注意区分)
部分轻量 pycms 为老旧项目,停止维护,谨慎选用。 - Nova‑CMS
Django 国产 CMS,面向资讯门户,部分版本维护放缓。
4. 博客类(可当作小型 CMS)
- Zinnia:Django 博客组件,可嵌入 Django 项目做内容模块
- Mezzanine CMS:Django 老牌 CMS,项目已经停止维护,不要新项目使用。
选型对比总结
表格
| 系统 | 技术 | 国产 | 状态 | 适合场景 |
|---|---|---|---|---|
| Django‑CMS | Django | 否 | 活跃 | 企业官网,需要拖拽编辑 |
| Wagtail | Django | 否 | 活跃 | 资讯、门户、无头 API 输出 |
| 知了 CMS | Django | 是 | 维护中 | 中小企业官网,开箱即用 |
| FastAPI‑Admin | FastAPI+Vue3 | 是 | 高活跃 | 自己二次开发 CMS,脚手架 |
| Mezzanine | Django | 否 | 停止维护 | 老项目,不建议新上 |
现实情况说明
国内真正开箱即用、成熟商业级、Python 编写的成品 CMS 非常少。
- 大部分 Python CMS 是国外项目;国产大多是小团队作品,功能够用,但生态、插件远不如 PHP 的 WordPress、DedeCMS,也不如.NET 的 CMS。
- Python 更多用来做无头 CMS 后端 API,前端 Vue/Nuxt 渲染;很少做一体化带模板的传统 CMS。
- 如果做生产项目:
- 想开箱即用:优先选知了 CMS;
- 需要灵活二次开发:Wagtail / Django‑CMS;
- 需要 FastAPI 异步:用 FastAPI‑Admin 自己搭建内容模型。