No Description

Thibaud Colas eb4b240791 Add unit tests for rich text block chooser initialisation based on capabilities 5 days ago
.circleci c7700feae2 Use built-in venv instead of pipenv in CircleCI 1 month ago
.github a2eb6ea8ca Drop support for Django 5.0 2 days ago
.tx 5f41356dbe Remove modeladmin references from transifex config and eslintrc 1 year ago
client eb4b240791 Add unit tests for rich text block chooser initialisation based on capabilities 1 day ago
docs 2a42ae4edd Add release note stubs for 6.5 2 days ago
etc dd42d91663 Release note / additional fix for #6339 4 years ago
scripts c17c1c859b Fetch new translations from Transifex 1 week ago
wagtail b66a9bfb64 Version bump to 6.5a0 2 days ago
.babelrc.json be9b462947 Update Storybook Babel browser support configuration 1 week ago
.coveragerc 0a7fd3f64e Add concurrency setting to coverage configuration 1 year ago
.editorconfig bf9d062484 Prevent future issues with icon.html end-of-file newlines 1 year ago
.eslintignore 6bc9b0ea40 Adopt Stimulus `w-formset` attributes in Group edit/create view 1 month ago
.eslintrc.js ae89829661 Deprecate & rework imports for `window.buildExpandingFormset` 1 month ago
.git-blame-ignore-revs 2ce16fd365 Add PR number to git-blame-ignore-revs comment for ruff formatting 1 year ago
.gitignore 14c2150f29 Add generated `test-media` to .gitignore 4 months ago
.nvmrc 2e87f4ddec Update to Node 22 (active LTS) 2 months ago
.pre-commit-config.yaml 4f78cced7f Speed up semgrep on pre-commit (#11927) 9 months ago
.prettierignore 3f72b3ebf4 Prettier/Eslint - ignore storybook build folder - see #10089 1 year ago
.readthedocs.yml e63b42b547 Add explicit path to Sphinx configuration in .readthedocs.yml 1 month ago
.semgrep.yml ff7e016eb5 Patch number formatting functions during tests to flag up potential USE_THOUSAND_SEPARATOR issues 5 months ago
.squash.yml 2e87f4ddec Update to Node 22 (active LTS) 2 months ago
.stylelintignore 23bc6b2670 Upgrade to latest Sass and stylelint configuration, with needed refactorings 3 years ago
.stylelintrc.js d25a67a4b8 Implement block previews in StreamField block chooser 1 week ago
CHANGELOG.txt 2a42ae4edd Add release note stubs for 6.5 2 days ago
CODE_OF_CONDUCT.md 6d0659333d fix spelling - behaviour vs behavior 2 years ago
CONTRIBUTORS.md f25a95deee Fix typo: Replace 'another field' with 'an author field' in writing_templates documentation (#12799) 1 week ago
LICENSE a3f2748c5d Makes LICENSE recognized by GitHub. 5 years ago
MANIFEST.in d7ed0b2999 Remove icon font 1 year ago
Makefile 9a2177dc19 Upgrade `ruff` and replace `black` with `ruff format` 1 year ago
README.md a2eb6ea8ca Drop support for Django 5.0 2 days ago
SPONSORS.md fd9b1ca22b Docs - Update spelling to US customize variants 3 months ago
codecov.yml 1f3605b98a chore(ci): add informational Codecov status checks 2 years ago
conftest.py 0fd99886a2 Move tests to test 2 years ago
package-lock.json 77a55e3f60 Bump store2 from 2.14.2 to 2.14.4 4 days ago
package.json 8d5fc606a8 Remove unneeded IE11 reference from browserslist 1 week ago
prettier.config.js 21206dc3e7 Clean up JS comments to be aligned to JSDoc where suitable 2 months ago
ruff.toml adde8b66f6 Drop support for Python 3.7 1 year ago
runtests.py 605c9cf1a6 Drop support for Elasticsearch 5 and 6 1 year ago
setup.cfg 459fbb2cc9 Switch to ruff for flake8 / isort code checking (#10324) 1 year ago
setup.py 65d3b34698 Install `django-tasks` 1 week ago
tailwind.config.js c8aeee941a Only scan src in client directory for Tailwind to prevent unnecessary rebuilds 8 months ago
tox.ini a2eb6ea8ca Drop support for Django 5.0 2 days ago
tsconfig.json dcf523416c Switch TypeScript target to ES2023 1 week ago

README.md

<picture>
    <source media="(prefers-color-scheme: light)" srcset=".github/wagtail.svg">
    <source media="(prefers-color-scheme: dark)" srcset=".github/wagtail-inverse.svg">
    <img width="343" src=".github/wagtail.svg" alt="Wagtail">
</picture>

<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://pypi.python.org/pypi/wagtail/">
    <img src="https://img.shields.io/pypi/dm/wagtail?logo=Downloads" alt="Monthly downloads" />
</a>
<a href="https://fosstodon.org/@wagtail">
    <img src="https://img.shields.io/mastodon/follow/109308882653647818?domain=https%3A%2F%2Ffosstodon.org&style=social" alt="Follow @wagtail@fosstodon.org">
</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 decoupled 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 4.2.x and 5.1.x
  • Python 3.9, 3.10, 3.11, 3.12 and 3.13
  • PostgreSQL, MySQL, MariaDB and SQLite (with JSON1) as database backends

Previous versions of Wagtail additionally supported Python 2.7, 3.8 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.