wagtail
A Django content management system.
What it is and what it does
Wagtail is a production-grade Django content management system designed for editorial teams and developers who need precise control over content structure and front-end design. It provides a web-based interface for authoring and publishing content, with built-in support for multiple sites, languages, images, and embedded media. The system uses StreamField to allow flexible content composition without sacrificing structure, and includes integrated search powered by Elasticsearch or PostgreSQL.
The package depends on 18 runtime libraries including Django, djangorestframework, Pillow for image handling, and several Django extensions for permissions, tagging, and tree structures. It runs on any platform from a Raspberry Pi to multi-datacenter cloud deployments, and offers both a traditional content API for headless deployments and a full editorial interface. Wagtail is actively maintained with feature releases every three months and designated Long Term Support releases for extended security updates.
Use it for:
- Build a multi-site editorial platform where different teams manage content across branded properties with shared infrastructure.
- Create a headless CMS serving content to decoupled front-end applications via REST API.
- Implement a structured content workflow with image management, version control, and multi-language support.
- Integrate content management into an existing Django application without replacing the entire framework.
- Deploy a scalable publishing platform with built-in search, caching, and performance optimization.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Wagtail is a Django-based content management system providing a web interface for creating, editing, and publishing content across single or multiple sites and languages.
Yes. Wagtail is a mature, actively maintained CMS with low install friction, permissive licensing, no known vulnerabilities, and strong community backing. Install it if you need a Django-native content management system with editorial workflows, multi-site support, and developer control over design. Skip it if you require a lightweight headless-only solution or prefer a non-Django stack.
Install
wagtail on PyPI
pip
pip install wagtailuv
uv add wagtailpoetry
poetry add wagtailInstalling wagtail
Before you install
Low install friction with a pure Python wheel. Actively maintained with a release 60 days ago and 20444 repository stars. Requires Django 5.2.x or 6.0.x and Python 3.10 or later.
License in practice
BSD-3-Clause (permissive) allows free use, modification, and distribution in both open and closed-source projects without restriction.
Quickstart
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
Requires Python 3.10 or later and Django 5.2.x or 6.0.x; an existing Django project can integrate Wagtail but requires additional setup steps.
Verify before relying
- Whether Elasticsearch integration is included or requires separate installation for advanced search.
- Performance characteristics when scaling to millions of pages as claimed in description.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 18 — Django, django-modelcluster, django-permissionedforms, django-taggit, django-treebeard, djangorestframework, django-filter, draftjs_exporter, Pillow, beautifulsoup4, Willow, requests, openpyxl, anyascii, telepath, laces, django-tasks, modelsearch |
| Maintenance | actively maintained — 60 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,058,902/month — #4,424 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: wagtail-7.4.2-py3-none-any.whl
Tags
More Site Management packages
Converts Markdown text to HTML using a Python…
permissive · top 1,000 on PyPI
SphinxSphinx generates professional documentation…
permissive · top 1,000 on PyPI
netaddrRepresents and manipulates IPv4, IPv6, MAC…
permissive · top 5,000 on PyPI
port-forport-for finds and remembers unused TCP…
permissive · top 5,000 on PyPI
ct3Cheetah3 is a template engine and code…
permissive · top 5,000 on PyPI
draftjs_exporterConverts Draft.js ContentState (a rich text…
permissive · top 5,000 on PyPI
django-cmsdjango CMS is a Django-based content management…
permissive · top 15,000 on PyPI
wagtail-localizeWagtail Localize is a translation plugin for…
permissive · top 15,000 on PyPI
wagtailmediaAdds audio and video file management to Wagtail…
permissive · top 15,000 on PyPI
django-fiberDjango Fiber is a lightweight Django CMS that…
permissive · top 15,000 on PyPI
wagtail-factoriesProvides factory-boy classes for generating…
permissive · top 15,000 on PyPI
wagtail-modeladminAdds Django model administration interfaces to…
permissive · top 15,000 on PyPI
djangocms-text-ckeditorIntegrates CKEditor (v4.17.2) as a text editing…
permissive · top 15,000 on PyPI
django-filerDjango Filer is a file and image management…
permissive · top 15,000 on PyPI
djangocms-admin-styleProvides styled CSS templates and admin…
permissive · top 15,000 on PyPI
pelicanPelican is a static site generator that…
agpl · top 15,000 on PyPI