基于 Python 知名 Web 框架 Django 实现的无头内容管理系统,拥有清爽的 UI 和简洁易用的编辑器。独特的 StreamField 技术,可以让内容排版灵活又不失结构,再加上强大的多语言系统,让它在众多开源 CMS 中脱颖而出。

Matt Westcott a148693213 Version bump to 4.1.9 1 年之前
.circleci 5f9314393c run collectstatic with ManifestStaticFilesStorage 2 年之前
.github 872af63002 Add formal support for Python 3.11 2 年之前
.tx ab825eeb56 Add wagtailadminjs resource to transifex config 2 年之前
client f4d36d0730 Fix collection field alignment in drop zone (multi-upload) 1 年之前
docs 8db9bf3ee0 Release note for CVE-2023-45809 in 4.1.9 1 年之前
etc dd42d91663 Release note / additional fix for #6339 4 年之前
scripts 081ad2004e Update latest.txt for 2.15.6 LTS 2 年之前
wagtail a148693213 Version bump to 4.1.9 1 年之前
.coveragerc 314a926f75 Update Python and JS test coverage collection to exclude tests 4 年之前
.editorconfig 6dae6e5d07 Add and configure black 2 年之前
.eslintignore 6f1fde7cfc Add getDuplicatedState methods to block classes 2 年之前
.eslintrc.js 8037de631f eslint config - only list explicit files that need to be included with legacy config 2 年之前
.git-blame-ignore-revs f16d29e788 Add black reformatting commit SHA to .git-blame-ignore-revs 2 年之前
.gitignore 44fd1852ee Trial browser tests in CircleCI 2 年之前
.nvmrc 6bf0169e09 Upgrade Node tooling to Node v16 and npm v8 2 年之前
.pre-commit-config.yaml f1dcf407e3 Bump black to 22.3.0 to fix issue with dependency 2 年之前
.prettierignore 6f1fde7cfc Add getDuplicatedState methods to block classes 2 年之前
.readthedocs.yml cf276f2418 Update RTD config 1 年之前
.squash.yml 9d882b36cd Attempting to fix SQLite errors in Squash deployments by updating Docker image (#8757) 2 年之前
.stylelintignore 23bc6b2670 Upgrade to latest Sass and stylelint configuration, with needed refactorings 2 年之前
.stylelintrc.js 4f94c9ea20 Allow all CSS system colors in stylesheets without variables usage (#8945) 2 年之前
CHANGELOG.txt 8db9bf3ee0 Release note for CVE-2023-45809 in 4.1.9 1 年之前
CODE_OF_CONDUCT.md 6d0659333d fix spelling - behaviour vs behavior 2 年之前
CONTRIBUTORS.rst b3242c0bb2 Prevent lowercase conversions of IndexView column headers 1 年之前
LICENSE a3f2748c5d Makes LICENSE recognized by GitHub. 5 年之前
MANIFEST.in f0bb578f68 Wagtail packaging fixes (#8030) 2 年之前
Makefile 9badc1c7f3 Mark all targets as phony 2 年之前
README.md 872af63002 Add formal support for Python 3.11 2 年之前
SECURITY.md fbcdf89bc3 Add a security.txt file 2 年之前
SPONSORS.md 0012c344d9 auto-format core markdown files (#8603) 2 年之前
codecov.yml 1f3605b98a chore(ci): add informational Codecov status checks 2 年之前
conftest.py 0fd99886a2 Move tests to test 2 年之前
package-lock.json f7ecdaaf78 Upgrade to latest Draftail RC, fixing command palette selection issue 2 年之前
package.json 78fe000b19 Add custom jest matcher for block id duplicate tests 2 年之前
prettier.config.js 11ccf30f00 Add Prettier configuration & documentation (#7908) 2 年之前
runtests.py 0fd99886a2 Move tests to test 2 年之前
setup.cfg 6dae6e5d07 Add and configure black 2 年之前
setup.py f101ff88d7 Update the Pillow dependency as well 1 年之前
tailwind.config.js a395d9c565 Auto-generate docs for most important design tokens 2 年之前
tox.ini 872af63002 Add formal support for Python 3.11 2 年之前
tsconfig.json b884026d08 Move inline panel JS into inline_panel.html 2 年之前

README.md

<img width="343" src=".github/wagtail.svg#gh-light-mode-only" alt="Wagtail">
<img width="343" src=".github/wagtail-inverse.svg#gh-dark-mode-only" alt="Wagtail">

<br>
<a href="https://github.com/wagtail/wagtail/actions">
    <img src="https://github.com/wagtail/wagtail/workflows/Wagtail%20CI/badge.svg" alt="Build Status" />
</a>
<a href="https://opensource.org/licenses/BSD-3-Clause">
    <img src="https://img.shields.io/badge/license-BSD-blue.svg" alt="License" />
</a>
<a href="https://pypi.python.org/pypi/wagtail/">
    <img src="https://img.shields.io/pypi/v/wagtail.svg" alt="Version" />
</a>
<a href="https://lgtm.com/projects/g/wagtail/wagtail/alerts/">
    <img src="https://img.shields.io/lgtm/alerts/g/wagtail/wagtail.svg?logo=lgtm&logoWidth=18" alt="Total alerts" />
</a>
<a href="https://lgtm.com/projects/g/wagtail/wagtail/context:python">
    <img src="https://img.shields.io/lgtm/grade/python/g/wagtail/wagtail.svg?logo=lgtm&logoWidth=18" alt="Language grade: Python" />
</a>
<a href="https://lgtm.com/projects/g/wagtail/wagtail/context:javascript">
    <img src="https://img.shields.io/lgtm/grade/javascript/g/wagtail/wagtail.svg?logo=lgtm&logoWidth=18" alt="Language grade: JavaScript" />
</a>
<a href="https://pypi.python.org/pypi/wagtail/">
    <img src="https://img.shields.io/pypi/dm/wagtail?logo=Downloads" alt="Monthly downloads" />
</a>
<a href="https://twitter.com/WagtailCMS">
    <img src="https://img.shields.io/twitter/follow/WagtailCMS?style=social&logo=twitter" alt="follow on Twitter">
</a>

Wagtail is an open source content management system built on Django, with a strong community and commercial support. It's focused on user experience, and offers precise control for designers and developers.

Wagtail screenshot

🔥 Features

  • A fast, attractive interface for authors
  • Complete control over front-end design and structure
  • Scales to millions of pages and thousands of editors
  • Fast out of the box, cache-friendly when you need it
  • Content API for 'headless' sites with de-coupled front-end
  • Runs on a Raspberry Pi or a multi-datacenter cloud platform
  • StreamField encourages flexible content without compromising structure
  • Powerful, integrated search, using Elasticsearch or PostgreSQL
  • Excellent support for images and embedded content
  • Multi-site and multi-language ready
  • Embraces and extends Django

Find out more at wagtail.org.

👉 Getting started

Wagtail works with Python 3, on any platform.

To get started with using Wagtail, run the following in a virtual environment:

Installing Wagtail

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

For detailed installation and setup docs, see the getting started tutorial.

👨‍👩‍👧‍👦 Who’s using it?

Wagtail is used by NASA, Google, Oxfam, the NHS, Mozilla, MIT, the Red Cross, Salesforce, NBC, BMW, and the US and UK governments. Add your own Wagtail site to madewithwagtail.org.

📖 Documentation

docs.wagtail.org is the full reference for Wagtail, and includes guides for developers, designers and editors, alongside release notes and our roadmap.

For those who are new to Wagtail, the Zen of Wagtail will help you understand what Wagtail is, and what Wagtail is not.

For developers who are ready to jump in to their first Wagtail website the Getting Started Tutorial will guide you through creating and editing your first page.

Do you have an existing Django project? The Wagtail Integration documentation is the best place to start.

📌 Compatibility

(If you are reading this on GitHub, the details here may not be indicative of the current released version - please see Compatible Django / Python versions in the Wagtail documentation.)

Wagtail supports:

  • Django 3.2.x, 4.0.x and 4.1.x
  • Python 3.7, 3.8, 3.9, 3.10 and 3.11
  • PostgreSQL, MySQL and SQLite (with JSON1) as database backends

Previous versions of Wagtail additionally supported Python 2.7 and earlier Django versions.


📢 Community Support

There is an active community of Wagtail users and developers responding to questions on Stack Overflow. When posting questions, please read Stack Overflow's advice on how to ask questions and remember to tag your question "wagtail".

For topics and discussions that do not fit Stack Overflow's question and answer format we have a Slack workspace. Please respect the time and effort of volunteers by not asking the same question in multiple places.

Join slack community

Our Github discussion boards are open for sharing ideas and plans for the Wagtail project.

We maintain a curated list of third party packages, articles and other resources at Awesome Wagtail.

🧑‍💼 Commercial Support

Wagtail is sponsored by Torchbox. If you need help implementing or hosting Wagtail, please contact us: hello@torchbox.com. See also madewithwagtail.org/developers/ for expert Wagtail developers around the world.

🔐 Security

We take the security of Wagtail, and related packages we maintain, seriously. If you have found a security issue with any of our projects please email us at security@wagtail.org so we can work together to find and patch the issue. We appreciate responsible disclosure with any security related issues, so please contact us first before creating a Github issue.

If you want to send an encrypted email (optional), the public key ID for security@wagtail.org is 0xbed227b4daf93ff9, and this public key is available from most commonly-used keyservers.

🕒 Release schedule

Feature releases of Wagtail are released every three months. Selected releases are designated as Long Term Support (LTS) releases, and will receive maintenance updates for an extended period to address any security and data-loss related issues. For dates of past and upcoming releases and support periods, see Release Schedule.

🕛 Nightly releases

To try out the latest features before a release, we also create builds from main every night. You can find instructions on how to install the latest nightly release at https://releases.wagtail.org/nightly/index.html

🙋🏽 Contributing

If you're a Python or Django developer, fork the repo and get stuck in! We have several developer focused channels on the Slack workspace.

You might like to start by reviewing the contributing guidelines and checking issues with the good first issue label.

We also welcome translations for Wagtail's interface. Translation work should be submitted through Transifex.

🔓 License

BSD - Free to use and modify for any purpose, including both open and closed-source code.

👏 Thanks

We thank the following organisations for their services used in Wagtail's development:

Browserstack
BrowserStack provides the project with free access to their live web-based browser testing tool, and automated Selenium cloud testing.

squash.io
Squash provides the project with free test environments for reviewing pull requests.

Assistiv Labs
Assistiv Labs provides the project with unlimited access to their remote testing with assistive technologies.