文章目录
- [Wagtail:拿过 2 万 Star 的 Django CMS](#Wagtail:拿过 2 万 Star 的 Django CMS)
-
- [1、 这玩意儿是干嘛的](#1、 这玩意儿是干嘛的)
- [2、 有哪些硬功能](#2、 有哪些硬功能)
- [3、 怎么用](#3、 怎么用)
- [4、 适合哪些人](#4、 适合哪些人)
Wagtail:拿过 2 万 Star 的 Django CMS
Wagtail 在 GitHub 上已经拿到 20,338 Star 了。
这是一个基于 Django 的开源内容管理系统,由 Torchbox 赞助维护。NASA、Google、Oxfam、NHS、Mozilla、MIT、Red Cross、Salesforce、NBC、BMW 以及英美政府都在用它跑网站。

1、 这玩意儿是干嘛的
Wagtail 是一个给开发者用的 CMS。它不会把前端模板锁死,开发者可以完全控制前端的设计和结构。
核心定位很明确:给内容作者提供快速、好看的编辑界面,同时让开发者保留对代码的绝对掌控。它在 Django 基础上做扩展。

2、 有哪些硬功能
Wagtail 的功能列表很实在:
StreamField 是它比较有特色的设计,用块级内容拼页面,既灵活又不会破坏整体结构。你可以自由组合文本、图片、引用、嵌入视频这些块,但页面整体框架还是可控的。
内置搜索支持 Elasticsearch 或 PostgreSQL,图片和嵌入内容的管理也做得相对完善。多站点、多语言是开箱即用的,不需要额外配置。
它还有 Headless 内容 API,前端可以彻底解耦,用 React、Vue 或其他框架直接调 API 拿内容。
性能方面,官方的说法是默认就快,缓存友好,可以撑到数百万页面和数千编辑者。树莓派或者多数据中心云平台上都能跑。
3、 怎么用
环境要求 Python 3,安装和初始化就几行命令:
sh
pip install wagtail
wagtail start mysite
cd mysite
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
目前支持 Django 5.2.x 和 6.0.x,Python 版本覆盖 3.10 到 3.14。数据库支持 PostgreSQL、MySQL、MariaDB 和 SQLite。
官方文档把几种入门路径都列清楚了:纯新手有 Getting Started Tutorial,已有 Django 项目的有集成指南,设计师和编辑者也有各自对应的文档。
4、 适合哪些人
Wagtail 适合这几类场景:
已有 Django 项目,想加一个 CMS 层,但不想重构现有代码。
需要内容管理系统,但不想被模板系统限制前端技术选型。
做 headless 架构,需要稳定的内容 API 输出。
多站点、多语言的内容运营,需要统一的后台。
如果你本来就在用 Django,Wagtail 几乎是零成本接入。它的版本发布节奏是每三个月一次功能更新,部分版本会标记为 LTS,获得更长的维护周期。社区活跃度也不错,Stack Overflow 和 Slack 上都有人在回答问题。
LTS,获得更长的维护周期。社区活跃度也不错,Stack Overflow 和 Slack 上都有人在回答问题。