Skip to main content

Wagtail Bakery Demo

A comprehensive demonstration project showcasing Wagtail CMS capabilities through a bakery-themed website with multiple content types, multilingual support, and REST API.

What is the Wagtail Bakery Demo?

The Wagtail Bakery Demo is a production-ready demonstration project designed to showcase the powerful features of Wagtail CMS. Built on Django and Python, this project demonstrates best practices for building complex content management systems with multiple content types, rich media handling, and multilingual support. This demo is primarily aimed at developers who want to learn more about Wagtail’s internals and see real-world implementations of common CMS patterns. Rather than starting your own project from this demo, we recommend using it as a learning resource and reference implementation.

Key Features

Multiple Content Types

Blog posts, bread products, recipes, locations, and people pages with rich relationships

StreamField Blocks

Custom reusable content blocks including headings, images, quotes, and embeds

Multilingual Content

Built-in i18n support with English, German, and Arabic translations

REST API

Full-featured Wagtail API v2 for pages, images, and documents

Custom Snippets

Reusable content snippets for countries, ingredients, and bread types

Search & Filtering

Database-backed search with tag-based filtering and routable pages

Project Structure

The Bakery Demo is divided into multiple Django apps, each demonstrating different Wagtail features:
  • base - Core functionality including forms, custom blocks, and the homepage
  • blog - A typical weblog with tagging and author relationships
  • breads - Product catalog with snippets and many-to-many relationships
  • recipes - Recipe pages with ingredients and instructions
  • locations - Location pages with geographic data
  • people - People snippets with workflow and draft capabilities

Technology Stack

Django>=6.0,<6.1
wagtail>=7.2,<7.3
wagtail-font-awesome-svg>=1,<2
django-debug-toolbar>=4.2,<5
rest_framework

Quickstart

Get the demo running locally in minutes

Installation Options

Docker, Vagrant, or virtual environment setup

Architecture

Understand the project structure and design patterns

Content Models

Learn about the Page and snippet models

API Reference

Explore the REST API endpoints

Deployment

Deploy to production with Docker or Heroku

Who Should Use This Demo?

If you’re already familiar with Django but new to Wagtail, this demo provides a comprehensive overview of how Wagtail extends Django’s capabilities with powerful CMS features. You’ll see real implementations of StreamFields, Page models, snippets, and the admin interface customizations.
Explore the demo site to understand how Wagtail handles different content types, relationships between content, and the editorial workflow. The admin interface (/admin/) shows what content editors will experience.
The Bakery Demo showcases Wagtail’s approach to content modeling, API development, multilingual content, and developer experience. Compare it with other CMS solutions to see if Wagtail fits your needs.
If you’re building a content-heavy site with multiple content types, complex relationships, or multilingual requirements, study this demo’s architecture and implementation patterns.

Live Demo

You can explore a live version of the Bakery Demo or try it instantly in your browser:

Try on Gitpod

Launch a complete development environment in your browser with one click

Admin Interface

Log in with admin / changeme to explore the Wagtail admin at /admin/

What’s Next?

1

Get Started

Follow the Quickstart guide to run the demo locally and explore the admin interface
2

Learn Core Concepts

Read about Architecture and Content Models to understand how the demo is structured
3

Explore Content Types

Dive into the implementation of Blog, Breads, and other content types
4

Study the API

Check out the REST API to see how Wagtail exposes content programmatically
This demo is not intended to be used as a starter template for your own projects. Instead, use it as a learning resource and reference implementation. When you’re ready to start your own Wagtail project, run wagtail start in your environment.

Contributing

The Wagtail Bakery Demo is an open-source project maintained by the Wagtail community. If you find issues or want to contribute improvements, check out the Contributing Guide to get started.

GitHub Repository

View source code, report issues, and contribute

Wagtail Documentation

Official Wagtail CMS documentation

Build docs developers (and LLMs) love