OpenSource-Hub
W

Wagtail

20.3k stars·开发工具·已提供 SHA-256 校验码,下载后可自行核对文件完整性

Wagtail 是一个基于 Django 的开源内容管理系统,界面友好且可高度自定义。

智能下载

前往项目主页

该项目暂未提供安装包,请直接访问源代码仓库

基于 Django 的现代 CMS,兼顾编辑体验与开发者灵活性。

核心功能

  • 直观的编辑界面,作者可快速上手
  • StreamField 允许灵活编排内容模块而不失结构
  • 内置强大搜索(支持 Elasticsearch/PostgreSQL)
  • 支持多站点、多语言
  • 提供 Headless API,可解耦前后端

避坑指南

  • Wagtail 依赖 Django,需具备 Python 和 Django 基础。默认使用 SQLite,生产环境建议切换为 PostgreSQL 或 MySQL。StreamField 虽然灵活,但设计不当可能影响内容一致性。

适用场景

  • 企业官网、新闻门户、博客平台
  • 政府或非营利组织的多语言网站
  • 需要高度定制前端的项目,如品牌展示站
  • 作为无头 CMS,为移动端或单页应用提供内容

详细介绍

Wagtail 是一个基于 Django 的开源内容管理系统 (CMS),专为内容编辑者和开发者设计。它提供直观的编辑界面,同时让开发者完全掌控前端设计和结构。Wagtail 可扩展性强,支持百万级页面和数千名编辑人员。核心特性包括 StreamField(灵活的内容建模)、内置搜索(Elasticsearch 或 PostgreSQL)、多站点/多语言支持、以及无头内容 API。被 NASA、Google、NHS 等机构采用。

常见问题与排障 (1)

操作指南
如何在Wagtail CMS字段中允许编辑器使用类似 {{ user.name }} 的Django模板变量?

使用自定义的重新渲染函数。首先,使用初始上下文(例如通过 render_to_string)渲染模板。然后,将输出传递给一个函数,该函数将其作为具有相同上下文的 Django 模板重新评估。示例函数:

from django.template import Context, Template

def re_render_html_template(email_body, context):
    template = Template(email_body)
    context = Context(context)
    return template.render(context)

调用:

email_body = render_to_string('email.html', context)
email_body = re_render_html_template(email_body, context)

这是因为 Wagtail 会将 CMS 插入的 {{ var }} 作为纯文本渲染,但第二次渲染将它们解释为模板标签。将此逻辑放在准备最终输出的视图/服务器端函数中(例如在发送电子邮件或显示页面之前)。注意:这是通用的 Django 技术,不是官方 Wagtail 特性,因此建议仔细考虑安全影响(例如用户提供的模板代码)。

来源 Issue #3767

标签

cmsdjangocontent-managementpythonopen-source

快速上手

1

下载安装包

点击上方按钮下载对应系统的安装包

2

安装软件

双击下载的安装程序,按提示完成安装

3

步骤1:在虚拟环境中执行 pip install wagtail

4

步骤2:运行 wagtail start mysite 创建项目

5

步骤3:进入项目目录,执行 pip install -r requirements.txt

安装指引
  1. 步骤1:在虚拟环境中执行 pip install wagtail
  2. 步骤2:运行 wagtail start mysite 创建项目
  3. 步骤3:进入项目目录,执行 pip install -r requirements.txt
文件完整性

暂未获取到校验码

该项目暂未在 GitHub Release 页面提供 SHA-256 校验码

SHA256 校验码

暂无校验码

建议从 GitHub Releases 页面直接下载,并自行核对文件完整性

本平台所有 SHA-256 校验码均提取自项目在 GitHub 官方 Release 页面发布的文件,未做任何修改。你可以通过 GitHub Releases 页面自行验证。

运维指引

卸载说明

如果通过 pip 安装,使用 pip uninstall wagtail 卸载。如需完全移除项目文件,删除项目文件夹即可。注意备份数据库和媒体文件。

无额外依赖

下载后即可直接使用,无需安装其他运行环境

项目信息
开源协议BSD-3-Clause
最后更新2026-06-27 14:25:34
GitHub 仓库官方网站

遇到问题?查看下方 FAQ

1 FAQ

相似推荐