Wagtail
Wagtail is an open-source content management system built on Django, offering a fast, user-friendly interface and powerful control for developers.
Smart Download
Visit Project Homepage
No installer available yet — head to the source repository
A Django-based CMS that combines editor-friendly interface with developer control.
Core Features
- Fast, attractive interface for content authors
- StreamField enables flexible content without sacrificing structure
- Powerful built-in search (Elasticsearch or PostgreSQL)
- Multi-site and multi-language ready
- Headless content API for decoupled frontends
What It Can't Do
- •Wagtail requires Django knowledge. Default SQLite is for development; use PostgreSQL/MySQL in production. StreamField flexibility can lead to inconsistent content without careful planning.
Use Cases
- Corporate websites, news portals, blogs
- Multi-language sites for governments and NGOs
- Projects requiring highly customized front-end design
- Headless CMS for mobile apps or SPAs
Detailed Introduction
Wagtail is a modern, open-source content management system (CMS) built on Python's Django framework. It is designed for both content editors and developers, providing an intuitive interface for creating and managing content while giving developers full control over front-end design and structure. Wagtail is scalable, supporting millions of pages and thousands of editors, and includes features like StreamField for flexible content modeling, built-in search (Elasticsearch or PostgreSQL), multi-site and multi-language support, and a headless content API. It is used by organizations such as NASA, Google, and the NHS.
Troubleshooting & FAQ (1)
How-toHow to allow editors to use Django template variables like {{ user.name }} inside Wagtail CMS fields?
Use a custom re-rendering function. First, render your template with the initial context (e.g., via render_to_string). Then, pass the output through a function that re-evaluates it as a Django Template with the same context. Example function:
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)Call it:
email_body = render_to_string('email.html', context)
email_body = re_render_html_template(email_body, context)This works because Wagtail renders CMS-inserted {{ var }} as plain text, but the second rendering interprets them as template tags. Place this logic in the view/server-side function that prepares the final output (e.g., before sending an email or displaying a page). Note: this is a general Django technique, not an official Wagtail feature, so careful consideration of security implications (e.g., user-supplied template code) is advised.
Tags
Getting Started
Download installer
Click the button above to download the installer for your system
Install the software
Double-click the downloaded installer and follow the prompts
Step 1: In a virtual environment, run pip install wagtail
Step 2: Create a project with wagtail start mysite
Step 3: cd mysite && pip install -r requirements.txt
- Step 1: In a virtual environment, run pip install wagtail
- Step 2: Create a project with wagtail start mysite
- Step 3: cd mysite && pip install -r requirements.txt
Checksum not available
This project has not published a SHA-256 checksum on its GitHub Release page
SHA256 Checksum
No checksum available
Download directly from GitHub Releases and verify file integrity yourself
All SHA-256 checksums on this platform are extracted from the project's official GitHub Release page, without any modification. You can independently verify them on the GitHub Releases page.
Open Source Transparency
View GitHub SourceUninstall Info
If installed via pip, run pip uninstall wagtail. To remove project files, delete the project folder. Back up database and media files before uninstalling.
No Extra Dependencies
Ready to use after download. No additional runtime required.
Having issues? Check the FAQ below
1 FAQ
Similar Projects
godot
Godot Engine is a free, open-source, cross-platform 2D and 3D game engine with a unified editor. Unlike Unity or Unreal, it's entirely MIT-licensed and community-driven, offering a lightweight yet powerful node-based workflow that runs on a single executable.
Hoppscotch
Open source API development ecosystem with a lightweight, fast, and feature-rich interface for testing HTTP, WebSocket, GraphQL, and more.
lazygit
A simple terminal UI for git commands