The Wagtail Bakery Demo is designed as a learning tool and reference implementation. It’s not intended to be used as a starting point for your own site—instead, use
wagtail start for new projects.Quick Start with Gitpod
The fastest way to try the Wagtail Bakery Demo is through Gitpod, which provides a complete development environment in your browser.Access the Demo Site
Once Gitpod has fully started, a preview of the bakery website will appear in the “Simple Browser” panel. Click the arrow button to the right of the URL bar to open the website in a new tab.The site will be running at a URL like:
https://8080-yourworkspace.gitpod.ioQuick Start with Docker
If you prefer to run locally, Docker is the fastest method.Clone the Repository
The
--config core.autocrlf=input flag ensures proper line endings across different operating systems.Build and Start Services
- Build the Docker image
- Start PostgreSQL database
- Start Redis cache
- Start the Django application
Set Up the Database
Wait 10 seconds for the database to be ready, then run:The
load_initial_data command will:- Copy media files (images) to the configured storage
- Load all demo content from fixtures
- Create sample pages, blog posts, breads, and locations
- Update the search index
Start the Server
- Frontend: http://localhost:8000/
- Admin: http://localhost:8000/admin/
admin / changemeDocker Commands Reference
Exploring the Demo
Once you have the demo running, here’s what to explore:Admin Interface
Navigate to
/admin/ to explore Wagtail’s editorial interface. Try creating, editing, and publishing pages.Content Types
Explore the different content types:
- Blog posts with rich text and images
- Bread pages with ingredients and recipes
- Location pages with operating hours
- Gallery pages
Wagtail Features
Test out features like:
- StreamField for flexible page layouts
- Image management and focal points
- Page tree organization
- Workflow and moderation
API Endpoints
The demo includes Wagtail’s API:
/api/v2/pages/- Pages API/api/v2/images/- Images API/api/v2/documents/- Documents API
Demo Users
The demo includes several users with different roles for testing permissions:| Username | Password | Role | Superuser |
|---|---|---|---|
admin | changeme | Full access | Yes |
editor | changeme | Can edit content | No |
moderator | changeme | Can approve content | No |
german | changeme | German locale | Yes |
arabic | changeme | Arabic locale | Yes |
inactive | changeme | Inactive user | Yes |
Try logging in with different users to see how Wagtail’s permission system works.
What’s Included
The Bakery Demo showcases:- Multiple Apps: Organized project structure with separate apps for blog, breads, locations, and recipes
- Custom Models: Examples of content types with custom fields and behaviors
- StreamField: Flexible content blocks for rich page layouts
- Snippets: Reusable content like bread categories, countries, and ingredients
- Relationships: Many-to-many relationships via the ingredients feature
- Wagtail Hooks: Customizations to the admin interface
- Search: Database-powered search implementation
- Forms: Contact forms with form builder
- API: REST API endpoints for headless CMS usage
Next Steps
Explore the Code
The demo is designed for developers to read and learn from. Check out:
bakerydemo/base/models.py- Base page models and mixinsbakerydemo/blog/models.py- Blog implementationbakerydemo/breads/models.py- Custom content with relationshipsbakerydemo/base/wagtail_hooks.py- Admin customizations
Read the Installation Guide
For detailed setup instructions including Vagrant and venv methods, see the Installation Guide.
Create Your Own Site
Ready to build your own Wagtail site? Use the official starter:See the Wagtail Getting Started docs for more information.

