# Table of Contents
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-2-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.3.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-3-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.1.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-1-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.0 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-0-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.3.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-3-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 0.7 documentation](#welcome-to-wagtail-s-documentation-wagtail-0-7-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 0.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-0-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 0.6 documentation](#welcome-to-wagtail-s-documentation-wagtail-0-6-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.4.6 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-4-6-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.5.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-5-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 0.8.10 documentation](#welcome-to-wagtail-s-documentation-wagtail-0-8-10-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.6.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-6-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.7 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-7-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.8.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-8-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.9.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-9-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.10.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-10-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.11.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-11-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.12.6 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-12-6-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 1.13.4 documentation](#welcome-to-wagtail-s-documentation-wagtail-1-13-4-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.0.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-0-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.1.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-1-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.2.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-2-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.5.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-5-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.4 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-4-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.6.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-6-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.7.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-7-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.8.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-8-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.9.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-9-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.10.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-10-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.11.8 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-11-8-documentation)
- [Welcome to Wagtail’s documentation — Wagtail 2.12.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-2-12-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 2.13.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-2-13-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 2.14.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-2-14-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 4.1.9 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-4-1-9-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 4.2.4 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-4-2-4-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-2-1-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 2.15.6 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-2-15-6-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 5.0.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-5-0-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 2.16.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-2-16-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 3.0.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-3-0-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 4.0.4 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-4-0-4-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 5.1.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-5-1-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 5.2.8 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-5-2-8-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.0.6 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-0-6-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.1.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-1-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.2.4 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-2-4-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.3a0 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-3a0-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.4.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-4-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.0.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-0-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.3.5 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-3-5-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 6.4.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-6-4-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.0.3 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-0-3-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.1.2 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-1-2-documentation)
- [Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation](#welcome-to-wagtail-s-documentation-wagtail-documentation-7-2-1-documentation)
- [Getting started — Wagtail Documentation 7.2.1 documentation](#getting-started-wagtail-documentation-7-2-1-documentation)
- [Set up site menu for linking to the homepage and other pages — Wagtail Documentation 6.3.5 documentation](#set-up-site-menu-for-linking-to-the-homepage-and-other-pages-wagtail-documentation-6-3-5-documentation)
- [Usage guide — Wagtail Documentation 6.3.5 documentation](#usage-guide-wagtail-documentation-6-3-5-documentation)
- [Style and improve user experience — Wagtail Documentation 6.3.5 documentation](#style-and-improve-user-experience-wagtail-documentation-6-3-5-documentation)
- [How to use images in templates — Wagtail Documentation 6.3.5 documentation](#how-to-use-images-in-templates-wagtail-documentation-6-3-5-documentation)
- [Search — Wagtail Documentation 6.3.5 documentation](#search-wagtail-documentation-6-3-5-documentation)
- [Deploy your site — Wagtail Documentation 6.3.5 documentation](#deploy-your-site-wagtail-documentation-6-3-5-documentation)
- [Add search to your site — Wagtail Documentation 6.3.5 documentation](#add-search-to-your-site-wagtail-documentation-6-3-5-documentation)
- [Indexing — Wagtail Documentation 6.3.5 documentation](#indexing-wagtail-documentation-6-3-5-documentation)
- [Customize your home page — Wagtail Documentation 7.1.2 documentation](#customize-your-home-page-wagtail-documentation-7-1-2-documentation)
- [Create a portfolio page — Wagtail Documentation 6.3.5 documentation](#create-a-portfolio-page-wagtail-documentation-6-3-5-documentation)
- [Search — Wagtail Documentation 7.1.2 documentation](#search-wagtail-documentation-7-1-2-documentation)
- [Writing templates — Wagtail Documentation 6.3.5 documentation](#writing-templates-wagtail-documentation-6-3-5-documentation)
- [Searching — Wagtail Documentation 6.3.5 documentation](#searching-wagtail-documentation-6-3-5-documentation)
- [Custom page listings — Wagtail Documentation 7.2.1 documentation](#custom-page-listings-wagtail-documentation-7-2-1-documentation)
- [Page models — Wagtail Documentation 6.3.5 documentation](#page-models-wagtail-documentation-6-3-5-documentation)
- [How to set up Django Ninja — Wagtail Documentation 7.2.1 documentation](#how-to-set-up-django-ninja-wagtail-documentation-7-2-1-documentation)
- [How to build custom StreamField blocks — Wagtail Documentation 7.2.1 documentation](#how-to-build-custom-streamfield-blocks-wagtail-documentation-7-2-1-documentation)
- [Third-party tutorials — Wagtail Documentation 7.2.1 documentation](#third-party-tutorials-wagtail-documentation-7-2-1-documentation)
- [Deploy your site — Wagtail Documentation 7.1.2 documentation](#deploy-your-site-wagtail-documentation-7-1-2-documentation)
- [Usage guide — Wagtail Documentation 7.1.2 documentation](#usage-guide-wagtail-documentation-7-1-2-documentation)
- [Wagtail API — Wagtail Documentation 7.2.1 documentation](#wagtail-api-wagtail-documentation-7-2-1-documentation)
- [Set up site menu for linking to the homepage and other pages — Wagtail Documentation 7.1.2 documentation](#set-up-site-menu-for-linking-to-the-homepage-and-other-pages-wagtail-documentation-7-1-2-documentation)
- [Add search to your site — Wagtail Documentation 7.1.2 documentation](#add-search-to-your-site-wagtail-documentation-7-1-2-documentation)
- [Sustainability considerations — Wagtail Documentation 7.2.1 documentation](#sustainability-considerations-wagtail-documentation-7-2-1-documentation)
- [Create contact page — Wagtail Documentation 7.1.2 documentation](#create-contact-page-wagtail-documentation-7-1-2-documentation)
- [Customizing the editing interface — Wagtail Documentation 7.2.1 documentation](#customizing-the-editing-interface-wagtail-documentation-7-2-1-documentation)
- [Create a footer for all pages — Wagtail Documentation 7.1.2 documentation](#create-a-footer-for-all-pages-wagtail-documentation-7-1-2-documentation)
- [Custom user models — Wagtail Documentation 7.2.1 documentation](#custom-user-models-wagtail-documentation-7-2-1-documentation)
- [Style and improve user experience — Wagtail Documentation 7.1.2 documentation](#style-and-improve-user-experience-wagtail-documentation-7-1-2-documentation)
- [How to build a site with AMP support — Wagtail Documentation 7.2.1 documentation](#how-to-build-a-site-with-amp-support-wagtail-documentation-7-2-1-documentation)
- [Create a portfolio page — Wagtail Documentation 7.1.2 documentation](#create-a-portfolio-page-wagtail-documentation-7-1-2-documentation)
- [Testing your Wagtail site — Wagtail Documentation 7.2.1 documentation](#testing-your-wagtail-site-wagtail-documentation-7-2-1-documentation)
- [Writing templates — Wagtail Documentation 7.1.2 documentation](#writing-templates-wagtail-documentation-7-1-2-documentation)
- [Customizing admin templates — Wagtail Documentation 7.2.1 documentation](#customizing-admin-templates-wagtail-documentation-7-2-1-documentation)
- [Page models — Wagtail Documentation 7.1.2 documentation](#page-models-wagtail-documentation-7-1-2-documentation)
- [How to use images in templates — Wagtail Documentation 7.1.2 documentation](#how-to-use-images-in-templates-wagtail-documentation-7-1-2-documentation)
- [Accessibility considerations — Wagtail Documentation 7.2.1 documentation](#accessibility-considerations-wagtail-documentation-7-2-1-documentation)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v7.2.1/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v7.2.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.2.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v7.2.1/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v7.2.1/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v7.2.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.2.1/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.2.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.2.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.2.1/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.2.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v7.2.1/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v7.2.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.2.1/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v7.2.1/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v7.2.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v7.2.1/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v7.2.1/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v7.2.1/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v7.2.1/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v7.2.1/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v7.2.1/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v7.2.1/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v7.2.1/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v7.2.1/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v7.2.1/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v7.2.1/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v7.2.1/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v7.2.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v7.2.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.2.1/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.2.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.2.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.2.1/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v7.2.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v7.2.1/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/v7.2.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v7.2.1/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v7.2.1/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v7.2.1/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v7.2.1/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/v7.2.1/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v7.2.1/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/v7.2.1/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v7.2.1/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v7.2.1/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.2.1/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v7.2.1/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v7.2.1/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v7.2.1/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v7.2.1/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v7.2.1/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v7.2.1/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v7.2.1/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/v7.2.1/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/v7.2.1/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/v7.2.1/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v7.2.1/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v7.2.1/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v7.2.1/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v7.2.1/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v7.2.1/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v7.2.1/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v7.2.1/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v7.2.1/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v7.2.1/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v7.2.1/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v7.2.1/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/v7.2.1/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/v7.2.1/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/v7.2.1/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/v7.2.1/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v7.2.1/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v7.2.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v7.2.1/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v7.2.1/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v7.2.1/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/v7.2.1/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/v7.2.1/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/v7.2.1/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v7.2.1/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v7.2.1/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v7.2.1/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v7.2.1/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/v7.2.1/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/v7.2.1/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/v7.2.1/deployment/index.html)
* [Support](https://docs.wagtail.org/en/v7.2.1/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/v7.2.1/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/v7.2.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v7.2.1/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v7.2.1/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v7.2.1/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v7.2.1/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v7.2.1/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v7.2.1/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v7.2.1/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v7.2.1/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v7.2.1/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v7.2.1/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v7.2.1/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v7.2.1/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v7.2.1/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v7.2.1/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v7.2.1/releases/release_process.html)
* [Wagtail 7.2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.2.1.html)
* [Wagtail 7.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.2.html)
* [Wagtail 7.1.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/v7.2.1/releases/7.1.3.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/v7.2.1/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v7.2.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v7.2.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.3.5 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v6.3.5/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v6.3.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.3.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v6.3.5/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v6.3.5/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v6.3.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.3.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.3.5/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v6.3.5/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v6.3.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.3.5/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v6.3.5/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v6.3.5/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v6.3.5/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v6.3.5/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v6.3.5/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v6.3.5/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v6.3.5/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v6.3.5/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v6.3.5/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v6.3.5/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v6.3.5/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v6.3.5/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v6.3.5/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v6.3.5/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v6.3.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.3.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.3.5/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.3.5/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/v6.3.5/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v6.3.5/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v6.3.5/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v6.3.5/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v6.3.5/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v6.3.5/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/v6.3.5/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v6.3.5/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v6.3.5/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v6.3.5/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.3.5/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v6.3.5/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v6.3.5/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v6.3.5/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v6.3.5/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v6.3.5/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v6.3.5/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v6.3.5/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v6.3.5/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v6.3.5/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v6.3.5/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v6.3.5/advanced_topics/reference_index.html)
* [Extending](https://docs.wagtail.org/en/v6.3.5/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v6.3.5/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v6.3.5/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v6.3.5/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v6.3.5/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v6.3.5/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v6.3.5/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v6.3.5/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v6.3.5/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v6.3.5/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v6.3.5/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v6.3.5/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v6.3.5/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v6.3.5/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v6.3.5/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v6.3.5/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v6.3.5/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v6.3.5/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v6.3.5/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v6.3.5/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v6.3.5/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v6.3.5/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v6.3.5/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v6.3.5/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v6.3.5/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v6.3.5/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v6.3.5/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/v6.3.5/deployment/index.html)
* [Support](https://docs.wagtail.org/en/v6.3.5/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/v6.3.5/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/v6.3.5/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v6.3.5/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v6.3.5/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v6.3.5/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v6.3.5/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v6.3.5/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v6.3.5/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v6.3.5/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v6.3.5/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v6.3.5/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v6.3.5/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v6.3.5/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v6.3.5/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v6.3.5/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v6.3.5/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v6.3.5/releases/upgrading.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v6.3.5/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v6.3.5/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.1.2 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v7.1.2/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v7.1.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.1.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v7.1.2/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v7.1.2/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v7.1.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.1.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.1.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v7.1.2/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v7.1.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.1.2/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v7.1.2/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v7.1.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v7.1.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v7.1.2/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v7.1.2/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v7.1.2/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v7.1.2/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v7.1.2/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v7.1.2/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v7.1.2/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v7.1.2/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v7.1.2/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v7.1.2/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v7.1.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v7.1.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.1.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v7.1.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v7.1.2/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/v7.1.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v7.1.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v7.1.2/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v7.1.2/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v7.1.2/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/v7.1.2/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v7.1.2/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/v7.1.2/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v7.1.2/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v7.1.2/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/v7.1.2/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.1.2/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v7.1.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v7.1.2/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v7.1.2/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v7.1.2/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v7.1.2/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v7.1.2/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v7.1.2/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v7.1.2/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v7.1.2/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v7.1.2/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/v7.1.2/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/v7.1.2/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/v7.1.2/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v7.1.2/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v7.1.2/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v7.1.2/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v7.1.2/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v7.1.2/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v7.1.2/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v7.1.2/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v7.1.2/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v7.1.2/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v7.1.2/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v7.1.2/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/v7.1.2/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/v7.1.2/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/v7.1.2/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/v7.1.2/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v7.1.2/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v7.1.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v7.1.2/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v7.1.2/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v7.1.2/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/v7.1.2/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/v7.1.2/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/v7.1.2/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/v7.1.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v7.1.2/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v7.1.2/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v7.1.2/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v7.1.2/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/v7.1.2/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/v7.1.2/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/v7.1.2/deployment/index.html)
* [Support](https://docs.wagtail.org/en/v7.1.2/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/v7.1.2/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/v7.1.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v7.1.2/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v7.1.2/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v7.1.2/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v7.1.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v7.1.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v7.1.2/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v7.1.2/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v7.1.2/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v7.1.2/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v7.1.2/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v7.1.2/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v7.1.2/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v7.1.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v7.1.2/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v7.1.2/releases/release_process.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/v7.1.2/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/7.0.html)
* [Wagtail 6.4.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.4.3.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v7.1.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v7.1.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.1 documentation
* [Docs](https://docs.wagtail.org/en/v1.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.1/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.1/getting_started/demo_site.html)
* **Creating your Wagtail site**
* [Creating page models](https://docs.wagtail.org/en/v1.1/topics/creating_pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.1/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.1/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.1/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.1/advanced_topics/third_party_tutorials.html)
* **Using Wagtail**
* [Editors guide](https://docs.wagtail.org/en/v1.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.1/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.1/getting_started/demo_site.html)
* [Topics](https://docs.wagtail.org/en/v1.1/topics/index.html)
* [Creating page models](https://docs.wagtail.org/en/v1.1/topics/creating_pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.1/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.1/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.1/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.1/advanced_topics/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.1/advanced_topics/third_party_tutorials.html)
* [Reference](https://docs.wagtail.org/en/v1.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.1/reference/hooks.html)
* [The project template](https://docs.wagtail.org/en/v1.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.1/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.1/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.1/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.1/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.1/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.1/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.1/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.1/contributing/javascript_guidelines.html)
* [Release notes](https://docs.wagtail.org/en/v1.1/releases/index.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.1/releases/1.0.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.0 documentation
* [Docs](https://docs.wagtail.org/en/v1.0/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.0/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.0/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.0/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.0/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.0/getting_started/demo_site.html)
* **Creating your Wagtail site**
* [Creating page models](https://docs.wagtail.org/en/v1.0/topics/creating_pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.0/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.0/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.0/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.0/advanced_topics/third_party_tutorials.html)
* **Using Wagtail**
* [Editors guide](https://docs.wagtail.org/en/v1.0/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.0/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.0/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.0/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.0/getting_started/demo_site.html)
* [Topics](https://docs.wagtail.org/en/v1.0/topics/index.html)
* [Creating page models](https://docs.wagtail.org/en/v1.0/topics/creating_pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.0/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.0/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.0/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.0/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.0/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.0/advanced_topics/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.0/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.0/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.0/advanced_topics/performance.html)
* [Creating multilingual sites](https://docs.wagtail.org/en/v1.0/advanced_topics/multilingual_sites.html)
* [Private pages](https://docs.wagtail.org/en/v1.0/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.0/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.0/advanced_topics/third_party_tutorials.html)
* [Reference](https://docs.wagtail.org/en/v1.0/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.0/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.0/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.0/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.0/reference/hooks.html)
* [The project template](https://docs.wagtail.org/en/v1.0/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.0/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.0/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.0/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.0/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.0/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.0/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.0/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.0/editor_manual/documents_images_snippets/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.0/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.0/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.0/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.0/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.0/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.0/contributing/javascript_guidelines.html)
* [Release notes](https://docs.wagtail.org/en/v1.0/releases/index.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.0/releases/1.0.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.0/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.0/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.0/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.0/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.0/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.0/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.2 documentation
* [Docs](https://docs.wagtail.org/en/v1.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.2/getting_started/demo_site.html)
* **Creating your Wagtail site**
* [Page models](https://docs.wagtail.org/en/v1.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.2/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.2/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.2/advanced_topics/third_party_tutorials.html)
* **Using Wagtail**
* [Editors guide](https://docs.wagtail.org/en/v1.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.2/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.2/getting_started/integrating_into_django.html)
* [Topics](https://docs.wagtail.org/en/v1.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.2/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.2/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.2/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.2/advanced_topics/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.2/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.2/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.2/advanced_topics/jinja2.html)
* [Reference](https://docs.wagtail.org/en/v1.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.2/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.2/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.2/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.2/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.2/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.2/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.2/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.2/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.2/contributing/javascript_guidelines.html)
* [Release notes](https://docs.wagtail.org/en/v1.2/releases/index.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.3.1 documentation
* [Docs](https://docs.wagtail.org/en/v1.3.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.3.1/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.3.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [_Getting started_](https://docs.wagtail.org/en/v1.3.1/getting_started/index.html)
* [_Your first Wagtail site_](https://docs.wagtail.org/en/v1.3.1/getting_started/tutorial.html)
* [_Demo site_](https://docs.wagtail.org/en/v1.3.1/getting_started/demo_site.html)
* **Creating your Wagtail site**
* [_Page models_](https://docs.wagtail.org/en/v1.3.1/topics/pages.html)
* [_Writing templates_](https://docs.wagtail.org/en/v1.3.1/topics/writing_templates.html)
* [_Images_](https://docs.wagtail.org/en/v1.3.1/topics/images/index.html)
* [_Search_](https://docs.wagtail.org/en/v1.3.1/topics/search/index.html)
* [_Third-party tutorials_](https://docs.wagtail.org/en/v1.3.1/advanced_topics/third_party_tutorials.html)
* **Using Wagtail**
* [_Editors guide_](https://docs.wagtail.org/en/v1.3.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.3.1/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.3.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.3.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.3.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.3.1/getting_started/integrating_into_django.html)
* [Topics](https://docs.wagtail.org/en/v1.3.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.3.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.3.1/topics/writing_templates.html)
* [Images](https://docs.wagtail.org/en/v1.3.1/topics/images/index.html)
* [Search](https://docs.wagtail.org/en/v1.3.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.3.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.3.1/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.3.1/advanced_topics/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.3.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.3.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.3.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.3.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.3.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.3.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.3.1/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.3.1/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.3.1/advanced_topics/testing.html)
* [Reference](https://docs.wagtail.org/en/v1.3.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.3.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.3.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.3.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.3.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.3.1/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.3.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.3.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.3.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.3.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.3.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.3.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.3.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.3.1/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.3.1/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.3.1/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.3.1/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.3.1/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.3.1/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.3.1/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.3.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.3.1/contributing/javascript_guidelines.html)
* [Release notes](https://docs.wagtail.org/en/v1.3.1/releases/index.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.3.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.3.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.3.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.3.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.3.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.3.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 0.7 documentation
* [Docs](https://docs.wagtail.org/en/v0.7/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v0.7/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v0.7/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is a modern, flexible CMS, built on Django.
It supports Django 1.6.2+ and 1.7rc3+ on Python 2.6, 2.7, 3.2, 3.3 and 3.4.
* [Getting started](https://docs.wagtail.org/en/v0.7/getting_started/index.html)
* [Installation](https://docs.wagtail.org/en/v0.7/getting_started/installation.html)
* [Creating your project](https://docs.wagtail.org/en/v0.7/getting_started/creating_your_project.html)
* [Core components](https://docs.wagtail.org/en/v0.7/core_components/index.html)
* [Sites](https://docs.wagtail.org/en/v0.7/core_components/sites.html)
* [Pages](https://docs.wagtail.org/en/v0.7/core_components/pages/index.html)
* [Theory](https://docs.wagtail.org/en/v0.7/core_components/pages/theory.html)
* [Creating page models](https://docs.wagtail.org/en/v0.7/core_components/pages/creating_pages.html)
* [For Front End developers](https://docs.wagtail.org/en/v0.7/core_components/pages/writing_templates.html)
* [Recipes](https://docs.wagtail.org/en/v0.7/core_components/pages/model_recipes.html)
* [Displaying fields with the Editing API](https://docs.wagtail.org/en/v0.7/core_components/pages/editing_api.html)
* [Page Queryset Methods](https://docs.wagtail.org/en/v0.7/core_components/pages/advanced_topics/queryset_methods.html)
* [Private pages](https://docs.wagtail.org/en/v0.7/core_components/pages/advanced_topics/private_pages.html)
* [Embedding URL configuration in Pages](https://docs.wagtail.org/en/v0.7/core_components/pages/advanced_topics/routable_page_mixin.html)
* [Images](https://docs.wagtail.org/en/v0.7/core_components/images/index.html)
* [Using images outside Wagtail](https://docs.wagtail.org/en/v0.7/core_components/images/using_images_outside_wagtail.html)
* [Feature Detection](https://docs.wagtail.org/en/v0.7/core_components/images/feature_detection.html)
* [Snippets](https://docs.wagtail.org/en/v0.7/core_components/snippets.html)
* [Search](https://docs.wagtail.org/en/v0.7/core_components/search/index.html)
* [Indexing](https://docs.wagtail.org/en/v0.7/core_components/search/indexing.html)
* [Searching](https://docs.wagtail.org/en/v0.7/core_components/search/searching.html)
* [Backends](https://docs.wagtail.org/en/v0.7/core_components/search/backends.html)
* [Form builder](https://docs.wagtail.org/en/v0.7/core_components/form_builder.html)
* [Contrib components](https://docs.wagtail.org/en/v0.7/contrib_components/index.html)
* [Generating a static site](https://docs.wagtail.org/en/v0.7/contrib_components/static_site_generation.html)
* [Sitemap generation](https://docs.wagtail.org/en/v0.7/contrib_components/sitemap_generation.html)
* [Frontend cache invalidation](https://docs.wagtail.org/en/v0.7/contrib_components/frontendcache.html)
* [How to](https://docs.wagtail.org/en/v0.7/howto/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v0.7/howto/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v0.7/howto/deploying.html)
* [Performance](https://docs.wagtail.org/en/v0.7/howto/performance.html)
* [Creating multilingual sites](https://docs.wagtail.org/en/v0.7/howto/multilingual_sites.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v0.7/howto/contributing.html)
* [Reference](https://docs.wagtail.org/en/v0.7/reference/index.html)
* [Management commands](https://docs.wagtail.org/en/v0.7/reference/management_commands.html)
* [Support](https://docs.wagtail.org/en/v0.7/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v0.7/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v0.7/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v0.7/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v0.7/editor_manual/finding_your_way_around/index.html)
* [The Dashboard](https://docs.wagtail.org/en/v0.7/editor_manual/finding_your_way_around/the_dashboard.html)
* [The Explorer menu](https://docs.wagtail.org/en/v0.7/editor_manual/finding_your_way_around/the_explorer_menu.html)
* [Using search](https://docs.wagtail.org/en/v0.7/editor_manual/finding_your_way_around/using_search.html)
* [The Explorer page](https://docs.wagtail.org/en/v0.7/editor_manual/finding_your_way_around/the_explorer_page.html)
* [Creating new pages](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/index.html)
* [Selecting a page type](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/selecting_a_page_type.html)
* [Creating page body content](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/creating_body_content.html)
* [Inserting images and videos in a page](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/inserting_images.html)
* [Inserting links in a page](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/inserting_links.html)
* [Inserting videos into body content](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/inserting_videos.html)
* [Inserting links to documents into body text](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/inserting_documents.html)
* [Adding multiple items](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/adding_multiple_items.html)
* [Required fields](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/required_fields.html)
* [The Promote tab](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/the_promote_tab.html)
* [Previewing and submitting pages for moderation](https://docs.wagtail.org/en/v0.7/editor_manual/new_pages/previewing_and_submitting_for_moderation.html)
* [Editing existing pages](https://docs.wagtail.org/en/v0.7/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v0.7/editor_manual/documents_images_snippets/index.html)
* [Documents](https://docs.wagtail.org/en/v0.7/editor_manual/documents_images_snippets/documents.html)
* [Images](https://docs.wagtail.org/en/v0.7/editor_manual/documents_images_snippets/images.html)
* [Snippets](https://docs.wagtail.org/en/v0.7/editor_manual/documents_images_snippets/snippets.html)
* [Release notes](https://docs.wagtail.org/en/v0.7/releases/index.html)
* [Roadmap](https://docs.wagtail.org/en/v0.7/releases/roadmap.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v0.7/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v0.7/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v0.7/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v0.7/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v0.7/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 0.5 documentation
* [Docs](https://docs.wagtail.org/en/v0.5/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v0.5/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v0.5/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is a modern, flexible CMS, built on Django.
It supports Django 1.6.2+ on Python 2.6, 2.7, 3.2, 3.3 and 3.4. Django 1.7 support is in progress pending further release candidate testing.
* [Getting Started](https://docs.wagtail.org/en/v0.5/gettingstarted.html)
* [On Ubuntu](https://docs.wagtail.org/en/v0.5/gettingstarted.html#on-ubuntu)
* [On Debian](https://docs.wagtail.org/en/v0.5/gettingstarted.html#on-debian)
* [On OS X](https://docs.wagtail.org/en/v0.5/gettingstarted.html#on-os-x)
* [Using Vagrant](https://docs.wagtail.org/en/v0.5/gettingstarted.html#using-vagrant)
* [Using Docker](https://docs.wagtail.org/en/v0.5/gettingstarted.html#using-docker)
* [Other platforms](https://docs.wagtail.org/en/v0.5/gettingstarted.html#other-platforms)
* [Required dependencies](https://docs.wagtail.org/en/v0.5/gettingstarted.html#required-dependencies)
* [Optional dependencies](https://docs.wagtail.org/en/v0.5/gettingstarted.html#optional-dependencies)
* [Installation](https://docs.wagtail.org/en/v0.5/gettingstarted.html#installation)
* [SQLite support](https://docs.wagtail.org/en/v0.5/gettingstarted.html#sqlite-support)
* [Remove the demo app](https://docs.wagtail.org/en/v0.5/gettingstarted.html#id1)
* [Core components](https://docs.wagtail.org/en/v0.5/core_components/index.html)
* [Pages](https://docs.wagtail.org/en/v0.5/core_components/pages/index.html)
* [Theory](https://docs.wagtail.org/en/v0.5/core_components/pages/theory.html)
* [Creating page models](https://docs.wagtail.org/en/v0.5/core_components/pages/creating_pages.html)
* [For Front End developers](https://docs.wagtail.org/en/v0.5/core_components/pages/writing_templates.html)
* [Recipes](https://docs.wagtail.org/en/v0.5/core_components/pages/model_recipes.html)
* [Defining models with the Editing API](https://docs.wagtail.org/en/v0.5/core_components/pages/editing_api.html)
* [Page Queryset Methods](https://docs.wagtail.org/en/v0.5/core_components/pages/advanced_topics/queryset_methods.html)
* [Private pages](https://docs.wagtail.org/en/v0.5/core_components/pages/advanced_topics/private_pages.html)
* [Embedding URL configuration in Pages](https://docs.wagtail.org/en/v0.5/core_components/pages/advanced_topics/routable_page.html)
* [Images](https://docs.wagtail.org/en/v0.5/core_components/images/index.html)
* [Using images outside Wagtail](https://docs.wagtail.org/en/v0.5/core_components/images/using_images_outside_wagtail.html)
* [Feature Detection](https://docs.wagtail.org/en/v0.5/core_components/images/feature_detection.html)
* [Snippets](https://docs.wagtail.org/en/v0.5/core_components/snippets.html)
* [Snippet Models](https://docs.wagtail.org/en/v0.5/core_components/snippets.html#snippet-models)
* [Including Snippets in Template Tags](https://docs.wagtail.org/en/v0.5/core_components/snippets.html#including-snippets-in-template-tags)
* [Binding Pages to Snippets](https://docs.wagtail.org/en/v0.5/core_components/snippets.html#binding-pages-to-snippets)
* [Search](https://docs.wagtail.org/en/v0.5/core_components/search/index.html)
* [For Python developers](https://docs.wagtail.org/en/v0.5/core_components/search/for_python_developers.html)
* [Frontend views](https://docs.wagtail.org/en/v0.5/core_components/search/frontend_views.html)
* [Editor’s picks](https://docs.wagtail.org/en/v0.5/core_components/search/editors_picks.html)
* [Backends](https://docs.wagtail.org/en/v0.5/core_components/search/backends.html)
* [Form builder](https://docs.wagtail.org/en/v0.5/core_components/form_builder.html)
* [Usage](https://docs.wagtail.org/en/v0.5/core_components/form_builder.html#usage)
* [Contrib components](https://docs.wagtail.org/en/v0.5/contrib_components/index.html)
* [Generating a static site](https://docs.wagtail.org/en/v0.5/contrib_components/static_site_generation.html)
* [Installing django-medusa](https://docs.wagtail.org/en/v0.5/contrib_components/static_site_generation.html#installing-django-medusa)
* [Rendering](https://docs.wagtail.org/en/v0.5/contrib_components/static_site_generation.html#rendering)
* [Advanced topics](https://docs.wagtail.org/en/v0.5/contrib_components/static_site_generation.html#advanced-topics)
* [Sitemap generation](https://docs.wagtail.org/en/v0.5/contrib_components/sitemap_generation.html)
* [Basic configuration](https://docs.wagtail.org/en/v0.5/contrib_components/sitemap_generation.html#basic-configuration)
* [Customising](https://docs.wagtail.org/en/v0.5/contrib_components/sitemap_generation.html#customising)
* [Frontend cache purging](https://docs.wagtail.org/en/v0.5/contrib_components/frontend_cache_purging.html)
* [Setting it up](https://docs.wagtail.org/en/v0.5/contrib_components/frontend_cache_purging.html#setting-it-up)
* [Advanced useage](https://docs.wagtail.org/en/v0.5/contrib_components/frontend_cache_purging.html#advanced-useage)
* [How to](https://docs.wagtail.org/en/v0.5/howto/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v0.5/howto/settings.html)
* [Middleware (settings.py)](https://docs.wagtail.org/en/v0.5/howto/settings.html#middleware-settings-py)
* [Apps (settings.py)](https://docs.wagtail.org/en/v0.5/howto/settings.html#apps-settings-py)
* [Settings Variables (settings.py)](https://docs.wagtail.org/en/v0.5/howto/settings.html#settings-variables-settings-py)
* [Ready to Use Example Config Files](https://docs.wagtail.org/en/v0.5/howto/settings.html#ready-to-use-example-config-files)
* [Deploying Wagtail](https://docs.wagtail.org/en/v0.5/howto/deploying.html)
* [On your server](https://docs.wagtail.org/en/v0.5/howto/deploying.html#on-your-server)
* [On Gondor](https://docs.wagtail.org/en/v0.5/howto/deploying.html#on-gondor)
* [On other PAASs and IAASs](https://docs.wagtail.org/en/v0.5/howto/deploying.html#on-other-paass-and-iaass)
* [Performance](https://docs.wagtail.org/en/v0.5/howto/performance.html)
* [Editor interface](https://docs.wagtail.org/en/v0.5/howto/performance.html#editor-interface)
* [Public users](https://docs.wagtail.org/en/v0.5/howto/performance.html#public-users)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v0.5/howto/contributing.html)
* [Issues](https://docs.wagtail.org/en/v0.5/howto/contributing.html#issues)
* [Pull requests](https://docs.wagtail.org/en/v0.5/howto/contributing.html#pull-requests)
* [Coding guidelines](https://docs.wagtail.org/en/v0.5/howto/contributing.html#coding-guidelines)
* [Styleguide](https://docs.wagtail.org/en/v0.5/howto/contributing.html#styleguide)
* [Translations](https://docs.wagtail.org/en/v0.5/howto/contributing.html#translations)
* [Other contributions](https://docs.wagtail.org/en/v0.5/howto/contributing.html#other-contributions)
* [Reference](https://docs.wagtail.org/en/v0.5/reference/index.html)
* [Management commands](https://docs.wagtail.org/en/v0.5/reference/management_commands.html)
* [publish\_scheduled\_pages](https://docs.wagtail.org/en/v0.5/reference/management_commands.html#publish-scheduled-pages)
* [fixtree](https://docs.wagtail.org/en/v0.5/reference/management_commands.html#fixtree)
* [move\_pages](https://docs.wagtail.org/en/v0.5/reference/management_commands.html#move-pages)
* [update\_index](https://docs.wagtail.org/en/v0.5/reference/management_commands.html#update-index)
* [search\_garbage\_collect](https://docs.wagtail.org/en/v0.5/reference/management_commands.html#search-garbage-collect)
* [Support](https://docs.wagtail.org/en/v0.5/support.html)
* [Mailing list](https://docs.wagtail.org/en/v0.5/support.html#mailing-list)
* [Issues](https://docs.wagtail.org/en/v0.5/support.html#issues)
* [Torchbox](https://docs.wagtail.org/en/v0.5/support.html#torchbox)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v0.5/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v0.5/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v0.5/editor_manual/getting_started.html)
* [The Wagtail demo site](https://docs.wagtail.org/en/v0.5/editor_manual/getting_started.html#the-wagtail-demo-site)
* [Logging in](https://docs.wagtail.org/en/v0.5/editor_manual/getting_started.html#logging-in)
* [Finding your way around](https://docs.wagtail.org/en/v0.5/editor_manual/finding_your_way_around/index.html)
* [The Dashboard](https://docs.wagtail.org/en/v0.5/editor_manual/finding_your_way_around/the_dashboard.html)
* [The Explorer menu](https://docs.wagtail.org/en/v0.5/editor_manual/finding_your_way_around/the_explorer_menu.html)
* [Using search](https://docs.wagtail.org/en/v0.5/editor_manual/finding_your_way_around/using_search.html)
* [The Explorer page](https://docs.wagtail.org/en/v0.5/editor_manual/finding_your_way_around/the_explorer_page.html)
* [Creating new pages](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/index.html)
* [Selecting a page type](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/selecting_a_page_type.html)
* [Creating page body content](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/creating_body_content.html)
* [Inserting images and videos in a page](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/inserting_images.html)
* [Inserting links in a page](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/inserting_links.html)
* [Inserting videos into body content](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/inserting_videos.html)
* [Inserting links to documents into body text](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/inserting_documents.html)
* [Adding multiple items](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/adding_multiple_items.html)
* [Required fields](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/required_fields.html)
* [The Promote tab](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/the_promote_tab.html)
* [Previewing and submitting pages for moderation](https://docs.wagtail.org/en/v0.5/editor_manual/new_pages/previewing_and_submitting_for_moderation.html)
* [Editing existing pages](https://docs.wagtail.org/en/v0.5/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v0.5/editor_manual/documents_images_snippets/index.html)
* [Documents](https://docs.wagtail.org/en/v0.5/editor_manual/documents_images_snippets/documents.html)
* [Images](https://docs.wagtail.org/en/v0.5/editor_manual/documents_images_snippets/images.html)
* [Snippets](https://docs.wagtail.org/en/v0.5/editor_manual/documents_images_snippets/snippets.html)
* [Release notes](https://docs.wagtail.org/en/v0.5/releases/index.html)
* [Roadmap](https://docs.wagtail.org/en/v0.5/releases/roadmap.html)
* [The story so far](https://docs.wagtail.org/en/v0.5/releases/roadmap.html#the-story-so-far)
* [What’s next](https://docs.wagtail.org/en/v0.5/releases/roadmap.html#what-s-next)
* [You decide](https://docs.wagtail.org/en/v0.5/releases/roadmap.html#you-decide)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v0.5/releases/0.5.html)
* [What’s new](https://docs.wagtail.org/en/v0.5/releases/0.5.html#what-s-new)
* [Upgrade considerations](https://docs.wagtail.org/en/v0.5/releases/0.5.html#upgrade-considerations)
* [Deprecated features](https://docs.wagtail.org/en/v0.5/releases/0.5.html#deprecated-features)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v0.5/releases/0.4.1.html)
* [Bug fixes](https://docs.wagtail.org/en/v0.5/releases/0.4.1.html#bug-fixes)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v0.5/releases/0.4.html)
* [What’s new](https://docs.wagtail.org/en/v0.5/releases/0.4.html#what-s-new)
* [Backwards-incompatible changes](https://docs.wagtail.org/en/v0.5/releases/0.4.html#backwards-incompatible-changes)
* [Deprecated features](https://docs.wagtail.org/en/v0.5/releases/0.4.html#deprecated-features)
---
# Welcome to Wagtail’s documentation — Wagtail 0.6 documentation
* [Docs](https://docs.wagtail.org/en/v0.6/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v0.6/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v0.6/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is a modern, flexible CMS, built on Django.
It supports Django 1.6.2+ and 1.7rc3+ on Python 2.6, 2.7, 3.2, 3.3 and 3.4.
* [Getting started](https://docs.wagtail.org/en/v0.6/getting_started/index.html)
* [Installation](https://docs.wagtail.org/en/v0.6/getting_started/installation.html)
* [Before you start](https://docs.wagtail.org/en/v0.6/getting_started/installation.html#before-you-start)
* [The no-installation route](https://docs.wagtail.org/en/v0.6/getting_started/installation.html#the-no-installation-route)
* [A basic Wagtail installation](https://docs.wagtail.org/en/v0.6/getting_started/installation.html#a-basic-wagtail-installation)
* [Optional extras](https://docs.wagtail.org/en/v0.6/getting_started/installation.html#optional-extras)
* [Alternative installation methods](https://docs.wagtail.org/en/v0.6/getting_started/installation.html#alternative-installation-methods)
* [Creating your project](https://docs.wagtail.org/en/v0.6/getting_started/creating_your_project.html)
* [The `wagtail start` command](https://docs.wagtail.org/en/v0.6/getting_started/creating_your_project.html#the-wagtail-start-command)
* [The project](https://docs.wagtail.org/en/v0.6/getting_started/creating_your_project.html#the-project)
* [Getting it running](https://docs.wagtail.org/en/v0.6/getting_started/creating_your_project.html#getting-it-running)
* [Core components](https://docs.wagtail.org/en/v0.6/core_components/index.html)
* [Sites](https://docs.wagtail.org/en/v0.6/core_components/sites.html)
* [Pages](https://docs.wagtail.org/en/v0.6/core_components/pages/index.html)
* [Theory](https://docs.wagtail.org/en/v0.6/core_components/pages/theory.html)
* [Creating page models](https://docs.wagtail.org/en/v0.6/core_components/pages/creating_pages.html)
* [For Front End developers](https://docs.wagtail.org/en/v0.6/core_components/pages/writing_templates.html)
* [Recipes](https://docs.wagtail.org/en/v0.6/core_components/pages/model_recipes.html)
* [Displaying fields with the Editing API](https://docs.wagtail.org/en/v0.6/core_components/pages/editing_api.html)
* [Page Queryset Methods](https://docs.wagtail.org/en/v0.6/core_components/pages/advanced_topics/queryset_methods.html)
* [Private pages](https://docs.wagtail.org/en/v0.6/core_components/pages/advanced_topics/private_pages.html)
* [Embedding URL configuration in Pages](https://docs.wagtail.org/en/v0.6/core_components/pages/advanced_topics/routable_page_mixin.html)
* [Images](https://docs.wagtail.org/en/v0.6/core_components/images/index.html)
* [Using images outside Wagtail](https://docs.wagtail.org/en/v0.6/core_components/images/using_images_outside_wagtail.html)
* [Feature Detection](https://docs.wagtail.org/en/v0.6/core_components/images/feature_detection.html)
* [Snippets](https://docs.wagtail.org/en/v0.6/core_components/snippets.html)
* [Snippet Models](https://docs.wagtail.org/en/v0.6/core_components/snippets.html#snippet-models)
* [Including Snippets in Template Tags](https://docs.wagtail.org/en/v0.6/core_components/snippets.html#including-snippets-in-template-tags)
* [Binding Pages to Snippets](https://docs.wagtail.org/en/v0.6/core_components/snippets.html#binding-pages-to-snippets)
* [Search](https://docs.wagtail.org/en/v0.6/core_components/search/index.html)
* [For Python developers](https://docs.wagtail.org/en/v0.6/core_components/search/for_python_developers.html)
* [Frontend views](https://docs.wagtail.org/en/v0.6/core_components/search/frontend_views.html)
* [Editor’s picks](https://docs.wagtail.org/en/v0.6/core_components/search/editors_picks.html)
* [Backends](https://docs.wagtail.org/en/v0.6/core_components/search/backends.html)
* [Form builder](https://docs.wagtail.org/en/v0.6/core_components/form_builder.html)
* [Usage](https://docs.wagtail.org/en/v0.6/core_components/form_builder.html#usage)
* [Contrib components](https://docs.wagtail.org/en/v0.6/contrib_components/index.html)
* [Generating a static site](https://docs.wagtail.org/en/v0.6/contrib_components/static_site_generation.html)
* [Installing django-medusa](https://docs.wagtail.org/en/v0.6/contrib_components/static_site_generation.html#installing-django-medusa)
* [Rendering](https://docs.wagtail.org/en/v0.6/contrib_components/static_site_generation.html#rendering)
* [Advanced topics](https://docs.wagtail.org/en/v0.6/contrib_components/static_site_generation.html#advanced-topics)
* [Sitemap generation](https://docs.wagtail.org/en/v0.6/contrib_components/sitemap_generation.html)
* [Basic configuration](https://docs.wagtail.org/en/v0.6/contrib_components/sitemap_generation.html#basic-configuration)
* [Customising](https://docs.wagtail.org/en/v0.6/contrib_components/sitemap_generation.html#customising)
* [Frontend cache purging](https://docs.wagtail.org/en/v0.6/contrib_components/frontend_cache_purging.html)
* [Setting it up](https://docs.wagtail.org/en/v0.6/contrib_components/frontend_cache_purging.html#setting-it-up)
* [Advanced usage](https://docs.wagtail.org/en/v0.6/contrib_components/frontend_cache_purging.html#advanced-usage)
* [How to](https://docs.wagtail.org/en/v0.6/howto/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v0.6/howto/settings.html)
* [Middleware (settings.py)](https://docs.wagtail.org/en/v0.6/howto/settings.html#middleware-settings-py)
* [Apps (settings.py)](https://docs.wagtail.org/en/v0.6/howto/settings.html#apps-settings-py)
* [Settings Variables (settings.py)](https://docs.wagtail.org/en/v0.6/howto/settings.html#settings-variables-settings-py)
* [Ready to Use Example Config Files](https://docs.wagtail.org/en/v0.6/howto/settings.html#ready-to-use-example-config-files)
* [Deploying Wagtail](https://docs.wagtail.org/en/v0.6/howto/deploying.html)
* [On your server](https://docs.wagtail.org/en/v0.6/howto/deploying.html#on-your-server)
* [On Gondor](https://docs.wagtail.org/en/v0.6/howto/deploying.html#on-gondor)
* [On other PAASs and IAASs](https://docs.wagtail.org/en/v0.6/howto/deploying.html#on-other-paass-and-iaass)
* [Performance](https://docs.wagtail.org/en/v0.6/howto/performance.html)
* [Editor interface](https://docs.wagtail.org/en/v0.6/howto/performance.html#editor-interface)
* [Public users](https://docs.wagtail.org/en/v0.6/howto/performance.html#public-users)
* [Creating multilingual sites](https://docs.wagtail.org/en/v0.6/howto/multilingual_sites.html)
* [The root page](https://docs.wagtail.org/en/v0.6/howto/multilingual_sites.html#the-root-page)
* [Linking pages together](https://docs.wagtail.org/en/v0.6/howto/multilingual_sites.html#linking-pages-together)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v0.6/howto/contributing.html)
* [Issues](https://docs.wagtail.org/en/v0.6/howto/contributing.html#issues)
* [Pull requests](https://docs.wagtail.org/en/v0.6/howto/contributing.html#pull-requests)
* [Coding guidelines](https://docs.wagtail.org/en/v0.6/howto/contributing.html#coding-guidelines)
* [Styleguide](https://docs.wagtail.org/en/v0.6/howto/contributing.html#styleguide)
* [Translations](https://docs.wagtail.org/en/v0.6/howto/contributing.html#translations)
* [Other contributions](https://docs.wagtail.org/en/v0.6/howto/contributing.html#other-contributions)
* [Reference](https://docs.wagtail.org/en/v0.6/reference/index.html)
* [Management commands](https://docs.wagtail.org/en/v0.6/reference/management_commands.html)
* [publish\_scheduled\_pages](https://docs.wagtail.org/en/v0.6/reference/management_commands.html#publish-scheduled-pages)
* [fixtree](https://docs.wagtail.org/en/v0.6/reference/management_commands.html#fixtree)
* [move\_pages](https://docs.wagtail.org/en/v0.6/reference/management_commands.html#move-pages)
* [update\_index](https://docs.wagtail.org/en/v0.6/reference/management_commands.html#update-index)
* [search\_garbage\_collect](https://docs.wagtail.org/en/v0.6/reference/management_commands.html#search-garbage-collect)
* [Support](https://docs.wagtail.org/en/v0.6/support.html)
* [Mailing list](https://docs.wagtail.org/en/v0.6/support.html#mailing-list)
* [Issues](https://docs.wagtail.org/en/v0.6/support.html#issues)
* [Torchbox](https://docs.wagtail.org/en/v0.6/support.html#torchbox)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v0.6/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v0.6/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v0.6/editor_manual/getting_started.html)
* [The Wagtail demo site](https://docs.wagtail.org/en/v0.6/editor_manual/getting_started.html#the-wagtail-demo-site)
* [Logging in](https://docs.wagtail.org/en/v0.6/editor_manual/getting_started.html#logging-in)
* [Finding your way around](https://docs.wagtail.org/en/v0.6/editor_manual/finding_your_way_around/index.html)
* [The Dashboard](https://docs.wagtail.org/en/v0.6/editor_manual/finding_your_way_around/the_dashboard.html)
* [The Explorer menu](https://docs.wagtail.org/en/v0.6/editor_manual/finding_your_way_around/the_explorer_menu.html)
* [Using search](https://docs.wagtail.org/en/v0.6/editor_manual/finding_your_way_around/using_search.html)
* [The Explorer page](https://docs.wagtail.org/en/v0.6/editor_manual/finding_your_way_around/the_explorer_page.html)
* [Creating new pages](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/index.html)
* [Selecting a page type](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/selecting_a_page_type.html)
* [Creating page body content](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/creating_body_content.html)
* [Inserting images and videos in a page](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/inserting_images.html)
* [Inserting links in a page](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/inserting_links.html)
* [Inserting videos into body content](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/inserting_videos.html)
* [Inserting links to documents into body text](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/inserting_documents.html)
* [Adding multiple items](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/adding_multiple_items.html)
* [Required fields](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/required_fields.html)
* [The Promote tab](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/the_promote_tab.html)
* [Previewing and submitting pages for moderation](https://docs.wagtail.org/en/v0.6/editor_manual/new_pages/previewing_and_submitting_for_moderation.html)
* [Editing existing pages](https://docs.wagtail.org/en/v0.6/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v0.6/editor_manual/documents_images_snippets/index.html)
* [Documents](https://docs.wagtail.org/en/v0.6/editor_manual/documents_images_snippets/documents.html)
* [Images](https://docs.wagtail.org/en/v0.6/editor_manual/documents_images_snippets/images.html)
* [Snippets](https://docs.wagtail.org/en/v0.6/editor_manual/documents_images_snippets/snippets.html)
* [Release notes](https://docs.wagtail.org/en/v0.6/releases/index.html)
* [Roadmap](https://docs.wagtail.org/en/v0.6/releases/roadmap.html)
* [The story so far](https://docs.wagtail.org/en/v0.6/releases/roadmap.html#the-story-so-far)
* [What’s next](https://docs.wagtail.org/en/v0.6/releases/roadmap.html#what-s-next)
* [You decide](https://docs.wagtail.org/en/v0.6/releases/roadmap.html#you-decide)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v0.6/releases/0.6.html)
* [What’s new](https://docs.wagtail.org/en/v0.6/releases/0.6.html#what-s-new)
* [Upgrade considerations](https://docs.wagtail.org/en/v0.6/releases/0.6.html#upgrade-considerations)
* [Deprecated features](https://docs.wagtail.org/en/v0.6/releases/0.6.html#deprecated-features)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v0.6/releases/0.5.html)
* [What’s new](https://docs.wagtail.org/en/v0.6/releases/0.5.html#what-s-new)
* [Upgrade considerations](https://docs.wagtail.org/en/v0.6/releases/0.5.html#upgrade-considerations)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v0.6/releases/0.4.1.html)
* [Bug fixes](https://docs.wagtail.org/en/v0.6/releases/0.4.1.html#bug-fixes)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v0.6/releases/0.4.html)
* [What’s new](https://docs.wagtail.org/en/v0.6/releases/0.4.html#what-s-new)
* [Backwards-incompatible changes](https://docs.wagtail.org/en/v0.6/releases/0.4.html#backwards-incompatible-changes)
* [Deprecated features](https://docs.wagtail.org/en/v0.6/releases/0.4.html#deprecated-features)
---
# Welcome to Wagtail’s documentation — Wagtail 1.4.6 documentation
* [Docs](https://docs.wagtail.org/en/v1.4.6/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.4.6/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.4.6/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [_Getting started_](https://docs.wagtail.org/en/v1.4.6/getting_started/index.html)
* [_Your first Wagtail site_](https://docs.wagtail.org/en/v1.4.6/getting_started/tutorial.html)
* [_Demo site_](https://docs.wagtail.org/en/v1.4.6/getting_started/demo_site.html)
* **Using Wagtail**
* [_Page models_](https://docs.wagtail.org/en/v1.4.6/topics/pages.html)
* [_Writing templates_](https://docs.wagtail.org/en/v1.4.6/topics/writing_templates.html)
* [_Using images in templates_](https://docs.wagtail.org/en/v1.4.6/topics/images.html)
* [_Search_](https://docs.wagtail.org/en/v1.4.6/topics/search/index.html)
* [_Third-party tutorials_](https://docs.wagtail.org/en/v1.4.6/advanced_topics/third_party_tutorials.html)
* **For editors**
* [_Editors guide_](https://docs.wagtail.org/en/v1.4.6/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.4.6/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.4.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.4.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.4.6/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.4.6/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.4.6/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.4.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.4.6/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.4.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.4.6/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.4.6/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.4.6/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.4.6/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.4.6/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.4.6/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.4.6/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.4.6/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.4.6/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.4.6/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.4.6/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.4.6/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.4.6/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.4.6/advanced_topics/testing.html)
* [Reference](https://docs.wagtail.org/en/v1.4.6/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.4.6/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.4.6/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.4.6/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.4.6/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.4.6/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.4.6/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.4.6/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.4.6/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.4.6/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.4.6/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.4.6/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.4.6/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.4.6/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.4.6/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.4.6/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.4.6/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.4.6/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.4.6/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.4.6/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.4.6/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.4.6/contributing/javascript_guidelines.html)
* [Committing code](https://docs.wagtail.org/en/v1.4.6/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v1.4.6/releases/index.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.4.6/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.4.6/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.5.3 documentation
* [Docs](https://docs.wagtail.org/en/v1.5.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.5.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.5.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [_Getting started_](https://docs.wagtail.org/en/v1.5.3/getting_started/index.html)
* [_Your first Wagtail site_](https://docs.wagtail.org/en/v1.5.3/getting_started/tutorial.html)
* [_Demo site_](https://docs.wagtail.org/en/v1.5.3/getting_started/demo_site.html)
* **Using Wagtail**
* [_Page models_](https://docs.wagtail.org/en/v1.5.3/topics/pages.html)
* [_Writing templates_](https://docs.wagtail.org/en/v1.5.3/topics/writing_templates.html)
* [_Using images in templates_](https://docs.wagtail.org/en/v1.5.3/topics/images.html)
* [_Search_](https://docs.wagtail.org/en/v1.5.3/topics/search/index.html)
* [_Third-party tutorials_](https://docs.wagtail.org/en/v1.5.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [_Editors guide_](https://docs.wagtail.org/en/v1.5.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.5.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.5.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.5.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.5.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.5.3/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.5.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.5.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.5.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.5.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.5.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.5.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.5.3/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.5.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.5.3/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.5.3/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.5.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.5.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.5.3/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.5.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.5.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.5.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.5.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.5.3/advanced_topics/testing.html)
* [Reference](https://docs.wagtail.org/en/v1.5.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.5.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.5.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.5.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.5.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.5.3/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.5.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.5.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.5.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.5.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.5.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.5.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.5.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.5.3/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.5.3/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.5.3/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.5.3/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.5.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.5.3/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.5.3/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.5.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.5.3/contributing/javascript_guidelines.html)
* [Committing code](https://docs.wagtail.org/en/v1.5.3/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v1.5.3/releases/index.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.5.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.5.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 0.8.10 documentation
* [Docs](https://docs.wagtail.org/en/v0.8.10/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v0.8.10/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v0.8.10/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is a modern, flexible CMS, built on Django.
It supports Django 1.6.2+ and 1.7.1+ on Python 2.6, 2.7, 3.2, 3.3 and 3.4.
* [Getting started](https://docs.wagtail.org/en/v0.8.10/getting_started/index.html)
* [Installation](https://docs.wagtail.org/en/v0.8.10/getting_started/installation.html)
* [Creating your project](https://docs.wagtail.org/en/v0.8.10/getting_started/creating_your_project.html)
* [Core components](https://docs.wagtail.org/en/v0.8.10/core_components/index.html)
* [Sites](https://docs.wagtail.org/en/v0.8.10/core_components/sites.html)
* [Pages](https://docs.wagtail.org/en/v0.8.10/core_components/pages/index.html)
* [Theory](https://docs.wagtail.org/en/v0.8.10/core_components/pages/theory.html)
* [Creating page models](https://docs.wagtail.org/en/v0.8.10/core_components/pages/creating_pages.html)
* [For Front End developers](https://docs.wagtail.org/en/v0.8.10/core_components/pages/writing_templates.html)
* [Recipes](https://docs.wagtail.org/en/v0.8.10/core_components/pages/model_recipes.html)
* [Displaying fields with the Editing API](https://docs.wagtail.org/en/v0.8.10/core_components/pages/editing_api.html)
* [Page Queryset Methods](https://docs.wagtail.org/en/v0.8.10/core_components/pages/advanced_topics/queryset_methods.html)
* [Private pages](https://docs.wagtail.org/en/v0.8.10/core_components/pages/advanced_topics/private_pages.html)
* [Embedding URL configuration in Pages](https://docs.wagtail.org/en/v0.8.10/core_components/pages/advanced_topics/routable_page_mixin.html)
* [Images](https://docs.wagtail.org/en/v0.8.10/core_components/images/index.html)
* [Using images outside Wagtail](https://docs.wagtail.org/en/v0.8.10/core_components/images/using_images_outside_wagtail.html)
* [Feature Detection](https://docs.wagtail.org/en/v0.8.10/core_components/images/feature_detection.html)
* [Snippets](https://docs.wagtail.org/en/v0.8.10/core_components/snippets.html)
* [Search](https://docs.wagtail.org/en/v0.8.10/core_components/search/index.html)
* [Indexing](https://docs.wagtail.org/en/v0.8.10/core_components/search/indexing.html)
* [Searching](https://docs.wagtail.org/en/v0.8.10/core_components/search/searching.html)
* [Backends](https://docs.wagtail.org/en/v0.8.10/core_components/search/backends.html)
* [Form builder](https://docs.wagtail.org/en/v0.8.10/core_components/form_builder.html)
* [Contrib components](https://docs.wagtail.org/en/v0.8.10/contrib_components/index.html)
* [Generating a static site](https://docs.wagtail.org/en/v0.8.10/contrib_components/static_site_generation.html)
* [Sitemap generation](https://docs.wagtail.org/en/v0.8.10/contrib_components/sitemap_generation.html)
* [Frontend cache invalidation](https://docs.wagtail.org/en/v0.8.10/contrib_components/frontendcache.html)
* [How to](https://docs.wagtail.org/en/v0.8.10/howto/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v0.8.10/howto/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v0.8.10/howto/deploying.html)
* [Performance](https://docs.wagtail.org/en/v0.8.10/howto/performance.html)
* [Creating multilingual sites](https://docs.wagtail.org/en/v0.8.10/howto/multilingual_sites.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v0.8.10/howto/contributing.html)
* [Reference](https://docs.wagtail.org/en/v0.8.10/reference/index.html)
* [Management commands](https://docs.wagtail.org/en/v0.8.10/reference/management_commands.html)
* [Support](https://docs.wagtail.org/en/v0.8.10/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v0.8.10/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v0.8.10/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v0.8.10/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v0.8.10/editor_manual/finding_your_way_around/index.html)
* [The Dashboard](https://docs.wagtail.org/en/v0.8.10/editor_manual/finding_your_way_around/the_dashboard.html)
* [The Explorer menu](https://docs.wagtail.org/en/v0.8.10/editor_manual/finding_your_way_around/the_explorer_menu.html)
* [Using search](https://docs.wagtail.org/en/v0.8.10/editor_manual/finding_your_way_around/using_search.html)
* [The Explorer page](https://docs.wagtail.org/en/v0.8.10/editor_manual/finding_your_way_around/the_explorer_page.html)
* [Creating new pages](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/index.html)
* [Selecting a page type](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/selecting_a_page_type.html)
* [Creating page body content](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/creating_body_content.html)
* [Inserting images and videos in a page](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/inserting_images.html)
* [Inserting links in a page](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/inserting_links.html)
* [Inserting videos into body content](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/inserting_videos.html)
* [Inserting links to documents into body text](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/inserting_documents.html)
* [Adding multiple items](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/adding_multiple_items.html)
* [Required fields](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/required_fields.html)
* [The Promote tab](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/the_promote_tab.html)
* [Previewing and submitting pages for moderation](https://docs.wagtail.org/en/v0.8.10/editor_manual/new_pages/previewing_and_submitting_for_moderation.html)
* [Editing existing pages](https://docs.wagtail.org/en/v0.8.10/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v0.8.10/editor_manual/documents_images_snippets/index.html)
* [Documents](https://docs.wagtail.org/en/v0.8.10/editor_manual/documents_images_snippets/documents.html)
* [Images](https://docs.wagtail.org/en/v0.8.10/editor_manual/documents_images_snippets/images.html)
* [Snippets](https://docs.wagtail.org/en/v0.8.10/editor_manual/documents_images_snippets/snippets.html)
* [Release notes](https://docs.wagtail.org/en/v0.8.10/releases/index.html)
* [Roadmap](https://docs.wagtail.org/en/v0.8.10/releases/roadmap.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v0.8.10/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.6.3 documentation
* [Docs](https://docs.wagtail.org/en/v1.6.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.6.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.6.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [_Getting started_](https://docs.wagtail.org/en/v1.6.3/getting_started/index.html)
* [_Your first Wagtail site_](https://docs.wagtail.org/en/v1.6.3/getting_started/tutorial.html)
* [_Demo site_](https://docs.wagtail.org/en/v1.6.3/getting_started/demo_site.html)
* **Using Wagtail**
* [_Page models_](https://docs.wagtail.org/en/v1.6.3/topics/pages.html)
* [_Writing templates_](https://docs.wagtail.org/en/v1.6.3/topics/writing_templates.html)
* [_Using images in templates_](https://docs.wagtail.org/en/v1.6.3/topics/images.html)
* [_Search_](https://docs.wagtail.org/en/v1.6.3/topics/search/index.html)
* [_Third-party tutorials_](https://docs.wagtail.org/en/v1.6.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [_Editors guide_](https://docs.wagtail.org/en/v1.6.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.6.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.6.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.6.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.6.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.6.3/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.6.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.6.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.6.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.6.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.6.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.6.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.6.3/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.6.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.6.3/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.6.3/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.6.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.6.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.6.3/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.6.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.6.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.6.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.6.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.6.3/advanced_topics/testing.html)
* [Reference](https://docs.wagtail.org/en/v1.6.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.6.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.6.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.6.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.6.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.6.3/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.6.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.6.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.6.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.6.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.6.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.6.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.6.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.6.3/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.6.3/editor_manual/documents_images_snippets/index.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.6.3/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.6.3/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.6.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.6.3/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.6.3/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.6.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.6.3/contributing/javascript_guidelines.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.6.3/contributing/issue_tracking.html)
* [Committing code](https://docs.wagtail.org/en/v1.6.3/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v1.6.3/releases/index.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.6.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.6.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.7 documentation
* [Docs](https://docs.wagtail.org/en/v1.7/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.7/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.7/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [_Getting started_](https://docs.wagtail.org/en/v1.7/getting_started/index.html)
* [_Your first Wagtail site_](https://docs.wagtail.org/en/v1.7/getting_started/tutorial.html)
* [_Demo site_](https://docs.wagtail.org/en/v1.7/getting_started/demo_site.html)
* **Using Wagtail**
* [_Page models_](https://docs.wagtail.org/en/v1.7/topics/pages.html)
* [_Writing templates_](https://docs.wagtail.org/en/v1.7/topics/writing_templates.html)
* [_Using images in templates_](https://docs.wagtail.org/en/v1.7/topics/images.html)
* [_Search_](https://docs.wagtail.org/en/v1.7/topics/search/index.html)
* [_Third-party tutorials_](https://docs.wagtail.org/en/v1.7/advanced_topics/third_party_tutorials.html)
* **For editors**
* [_Editors guide_](https://docs.wagtail.org/en/v1.7/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.7/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.7/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.7/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.7/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.7/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.7/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.7/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.7/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.7/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.7/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.7/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.7/topics/streamfield.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.7/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.7/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.7/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.7/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.7/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.7/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.7/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.7/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.7/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.7/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.7/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.7/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.7/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.7/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.7/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.7/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.7/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.7/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.7/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.7/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.7/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.7/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.7/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.7/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.7/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.7/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.7/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.7/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.7/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.7/contributing/index.html)
* [Development](https://docs.wagtail.org/en/v1.7/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.7/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.7/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.7/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.7/contributing/javascript_guidelines.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.7/contributing/issue_tracking.html)
* [Committing code](https://docs.wagtail.org/en/v1.7/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.7/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.7/releases/index.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.7/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.7/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.7/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.7/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.7/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.7/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.7/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.7/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.7/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.7/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.7/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.7/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.7/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.7/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.7/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.7/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.7/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.7/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.7/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.7/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.7/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.8.2 documentation
* [Docs](https://docs.wagtail.org/en/v1.8.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.8.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.8.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.8.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.8.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.8.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.8.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.8.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.8.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.8.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.8.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.8.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.8.2/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.8.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.8.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.8.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.8.2/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.8.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.8.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.8.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.8.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.8.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.8.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.8.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.8.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.8.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.8.2/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.8.2/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.8.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.8.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.8.2/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.8.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.8.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.8.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.8.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.8.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.8.2/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.8.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.8.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.8.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.8.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.8.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.8.2/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.8.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.8.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.8.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.8.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.8.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.8.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.8.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.8.2/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.8.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.8.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.8.2/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.8.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.8.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.8.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.8.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.8.2/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.8.2/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.8.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.8.2/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.8.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.8.2/releases/index.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.8.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.8.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.9.1 documentation
* [Docs](https://docs.wagtail.org/en/v1.9.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.9.1/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.9.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.9.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.9.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.9.1/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.9.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.9.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.9.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.9.1/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.9.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.9.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.9.1/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.9.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.9.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.9.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.9.1/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.9.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.9.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.9.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.9.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.9.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.9.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.9.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.9.1/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.9.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.9.1/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.9.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.9.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.9.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.9.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.9.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.9.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.9.1/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.9.1/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.9.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.9.1/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.9.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.9.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.9.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.9.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.9.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.9.1/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.9.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.9.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.9.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.9.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.9.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.9.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.9.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.9.1/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.9.1/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.9.1/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.9.1/editor_manual/administrator_tasks/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.9.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.9.1/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.9.1/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.9.1/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.9.1/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.9.1/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.9.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.9.1/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.9.1/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.9.1/releases/index.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.9.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.9.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.10.1 documentation
* [Docs](https://docs.wagtail.org/en/v1.10.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/d3b9531f5b97f317f9ed83ed0d6cd44404b03df1/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.10.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.10.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.10.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.10.1/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.10.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.10.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.10.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.10.1/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.10.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.10.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.10.1/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.10.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.10.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.10.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.10.1/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.10.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.10.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.10.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.10.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.10.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.10.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.10.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.10.1/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.10.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.10.1/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.10.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.10.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.10.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.10.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.10.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.10.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.10.1/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.10.1/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.10.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.10.1/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.10.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.10.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.10.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.10.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.10.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.10.1/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.10.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.10.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.10.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.10.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.10.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.10.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.10.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.10.1/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.10.1/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.10.1/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.10.1/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v1.10.1/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.10.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.10.1/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.10.1/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.10.1/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.10.1/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.10.1/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.10.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.10.1/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.10.1/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.10.1/releases/index.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.10.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.10.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.11.1 documentation
* [Docs](https://docs.wagtail.org/en/v1.11.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/325dd21f1b843f20081649ae3d2f92032b9a2501/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.11.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.11.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.11.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.11.1/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.11.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.11.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.11.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.11.1/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.11.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.11.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.11.1/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.11.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.11.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.11.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.11.1/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.11.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.11.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.11.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.11.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.11.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.11.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.11.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.11.1/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.11.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.11.1/advanced_topics/images/index.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.11.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.11.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.11.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.11.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.11.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.11.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.11.1/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.11.1/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.11.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.11.1/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.11.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.11.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.11.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.11.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.11.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.11.1/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.11.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.11.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.11.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.11.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.11.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.11.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.11.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.11.1/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.11.1/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.11.1/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.11.1/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v1.11.1/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.11.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.11.1/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.11.1/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.11.1/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.11.1/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.11.1/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.11.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.11.1/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.11.1/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.11.1/releases/index.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.11.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.11.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.12.6 documentation
* [Docs](https://docs.wagtail.org/en/v1.12.6/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.12.6/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.12.6/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.12.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.12.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.12.6/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.12.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.12.6/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.12.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.12.6/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.12.6/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.12.6/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.12.6/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.12.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.12.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.12.6/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.12.6/getting_started/integrating_into_django.html)
* [Usage guide](https://docs.wagtail.org/en/v1.12.6/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.12.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.12.6/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.12.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.12.6/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.12.6/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.12.6/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.12.6/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.12.6/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.12.6/advanced_topics/images/index.html)
* [Embedded content](https://docs.wagtail.org/en/v1.12.6/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.12.6/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.12.6/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.12.6/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.12.6/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.12.6/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.12.6/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.12.6/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.12.6/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.12.6/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.12.6/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.12.6/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.12.6/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.12.6/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.12.6/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.12.6/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.12.6/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.12.6/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.12.6/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.12.6/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.12.6/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.12.6/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.12.6/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.12.6/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.12.6/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.12.6/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.12.6/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.12.6/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v1.12.6/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.12.6/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.12.6/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.12.6/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.12.6/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.12.6/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.12.6/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.12.6/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.12.6/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.12.6/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.12.6/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v1.12.6/releases/upgrading.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.12.6/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.12.6/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 1.13.4 documentation
* [Docs](https://docs.wagtail.org/en/v1.13.4/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v1.13.4/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v1.13.4/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v1.13.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.13.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.13.4/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v1.13.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.13.4/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.13.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.13.4/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.13.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v1.13.4/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v1.13.4/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v1.13.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v1.13.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v1.13.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v1.13.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v1.13.4/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v1.13.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v1.13.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v1.13.4/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v1.13.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v1.13.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v1.13.4/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v1.13.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v1.13.4/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v1.13.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v1.13.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v1.13.4/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v1.13.4/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v1.13.4/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v1.13.4/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v1.13.4/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v1.13.4/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v1.13.4/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v1.13.4/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v1.13.4/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v1.13.4/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v1.13.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v1.13.4/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v1.13.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v1.13.4/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v1.13.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v1.13.4/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v1.13.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v1.13.4/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v1.13.4/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v1.13.4/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v1.13.4/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v1.13.4/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v1.13.4/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v1.13.4/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v1.13.4/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v1.13.4/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v1.13.4/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v1.13.4/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v1.13.4/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v1.13.4/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v1.13.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v1.13.4/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v1.13.4/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v1.13.4/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v1.13.4/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v1.13.4/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v1.13.4/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v1.13.4/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v1.13.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v1.13.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v1.13.4/releases/upgrading.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v1.13.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v1.13.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.0.2 documentation
* [Docs](https://docs.wagtail.org/en/v2.0.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.0.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.0.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.0.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.0.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.0.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.0.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.0.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.0.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.0.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.0.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.0.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.0.2/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.0.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.0.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.0.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.0.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.0.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.0.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.0.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.0.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.0.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.0.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.0.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.0.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.0.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.0.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.0.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.0.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.0.2/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.0.2/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.0.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.0.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.0.2/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.0.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.0.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.0.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.0.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.0.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.0.2/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.0.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.0.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.0.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.0.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.0.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.0.2/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.0.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.0.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.0.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.0.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.0.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.0.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.0.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.0.2/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.0.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.0.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.0.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.0.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.0.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.0.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.0.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.0.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.0.2/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.0.2/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.0.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.0.2/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.0.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.0.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.0.2/releases/upgrading.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.0.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.0.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.0.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.1.3 documentation
* [Docs](https://docs.wagtail.org/en/v2.1.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.1.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.1.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://docs.wagtail.org/divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.1.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.1.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.1.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.1.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.1.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.1.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.1.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.1.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.1.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.1.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.1.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.1.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.1.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.1.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.1.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.1.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.1.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.1.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.1.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.1.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.1.3/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.1.3/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.1.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.1.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.1.3/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.1.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.1.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.1.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.1.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.1.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.1.3/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.1.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.1.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.1.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.1.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.1.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.1.3/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.1.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.1.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.1.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.1.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.1.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.1.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.1.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.1.3/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.1.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.1.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.1.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.1.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.1.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.1.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.1.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.1.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.1.3/contributing/styleguide.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.1.3/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.1.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.1.3/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.1.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.1.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.1.3/releases/upgrading.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.1.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.1.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.1.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.2.2 documentation
* [Docs](https://docs.wagtail.org/en/v2.2.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.2.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.2.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://docs.wagtail.org/divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.2.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.2.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.2.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.2.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.2.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.2.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.2.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.2.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.2.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.2.2/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.2.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.2.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.2.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.2.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.2.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.2.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.2.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.2.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.2.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.2.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.2.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.2.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.2.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.2.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.2.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.2.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.2.2/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.2.2/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.2.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.2.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.2.2/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.2.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.2.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.2.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.2.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.2.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.2.2/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.2.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.2.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.2.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.2.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.2.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.2.2/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.2.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.2.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.2.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.2.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.2.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.2.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.2.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.2.2/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.2.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.2.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.2.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.2.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.2.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.2.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.2.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.2.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.2.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.2.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.2.2/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.2.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.2.2/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.2.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.2.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.2.2/releases/upgrading.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.2.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.2.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.2.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.3 documentation
* [Docs](https://docs.wagtail.org/en/v2.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.3/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.3/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.3/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.3/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.3/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.3/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.3/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.3/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.3/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.3/releases/upgrading.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.5.2 documentation
* [Docs](https://docs.wagtail.org/en/v2.5.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.5.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.5.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.5.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.5.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.5.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.5.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.5.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.5.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.5.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.5.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.5.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.5.2/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.5.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.5.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.5.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.5.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.5.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.5.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.5.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.5.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.5.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.5.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.5.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.5.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.5.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.5.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.5.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.5.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.5.2/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.5.2/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.5.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.5.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.5.2/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.5.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.5.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.5.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.5.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.5.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.5.2/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.5.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.5.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.5.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.5.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.5.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.5.2/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.5.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.5.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.5.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.5.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.5.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.5.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.5.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.5.2/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.5.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.5.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.5.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.5.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.5.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.5.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.5.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.5.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.5.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.5.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.5.2/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.5.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.5.2/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.5.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.5.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.5.2/releases/upgrading.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.5.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.5.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.5.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.4 documentation
* [Docs](https://docs.wagtail.org/en/v2.4/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.4/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.4/#welcome-to-wagtail-s-documentation "Permalink to this headline")
=========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.4/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.4/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.4/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.4/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.4/#index "Permalink to this headline")
-------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.4/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.4/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.4/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.4/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.4/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.4/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.4/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.4/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.4/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.4/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.4/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.4/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.4/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.4/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.4/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.4/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.4/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.4/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.4/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.4/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.4/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.4/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.4/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.4/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.4/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.4/editor_manual/editing_existing_pages.html)
* [Managing documents and images](https://docs.wagtail.org/en/v2.4/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.4/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.4/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.4/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.4/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.4/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.4/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.4/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.4/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.4/contributing/python_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.4/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.4/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.4/releases/upgrading.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.4/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.4/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.4/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.4/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.4/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.4/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.4/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.4/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.4/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.4/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.4/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.4/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.6.3 documentation
* [Docs](https://docs.wagtail.org/en/v2.6.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.6.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.6.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.6.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.6.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.6.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.6.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.6.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.6.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.6.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.6.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.6.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.6.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.6.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.6.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.6.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.6.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.6.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.6.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.6.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.6.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.6.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.6.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.6.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.6.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.6.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.6.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.6.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.6.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.6.3/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.6.3/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.6.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.6.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.6.3/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.6.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.6.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.6.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.6.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.6.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.6.3/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.6.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.6.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.6.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.6.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.6.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.6.3/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.6.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.6.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.6.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.6.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.6.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.6.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.6.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.6.3/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.6.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.6.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.6.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.6.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.6.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.6.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.6.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.6.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.6.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.6.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.6.3/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.6.3/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.6.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.6.3/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.6.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.6.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.6.3/releases/upgrading.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.6.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.6.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.6.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.7.1 documentation
* [Docs](https://docs.wagtail.org/en/v2.7.1/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.7.1/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.7.1/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.7.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.7.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.7.1/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.7.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.7.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.7.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.7.1/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.7.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.7.1/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.7.1/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.7.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.7.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.7.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.7.1/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.7.1/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.7.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.7.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.7.1/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.7.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.7.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.7.1/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.7.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.7.1/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.7.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.7.1/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.7.1/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.7.1/advanced_topics/embeds.html)
* [Configuring Django for Wagtail](https://docs.wagtail.org/en/v2.7.1/advanced_topics/settings.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.7.1/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.7.1/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.7.1/advanced_topics/i18n/index.html)
* [Private pages](https://docs.wagtail.org/en/v2.7.1/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.7.1/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.7.1/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.7.1/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.7.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.7.1/advanced_topics/api/index.html)
* [Reference](https://docs.wagtail.org/en/v2.7.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.7.1/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.7.1/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.7.1/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.7.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.7.1/reference/signals.html)
* [The project template](https://docs.wagtail.org/en/v2.7.1/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.7.1/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.7.1/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.7.1/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.7.1/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.7.1/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.7.1/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.7.1/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.7.1/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.7.1/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.7.1/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.7.1/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.7.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.7.1/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.7.1/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.7.1/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.7.1/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.7.1/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.7.1/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.7.1/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.7.1/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.7.1/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.7.1/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.7.1/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.7.1/releases/upgrading.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.7.1/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.7.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.7.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.8.2 documentation
* [Docs](https://docs.wagtail.org/en/v2.8.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.8.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.8.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.8.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.8.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.8.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.8.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.8.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.8.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.8.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.8.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.8.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.8.2/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.8.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.8.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.8.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.8.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.8.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.8.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.8.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.8.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.8.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.8.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.8.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.8.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.8.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.8.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.8.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.8.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.8.2/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.8.2/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.8.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.8.2/advanced_topics/performance.html)
* [Private pages](https://docs.wagtail.org/en/v2.8.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.8.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.8.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.8.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.8.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.8.2/advanced_topics/api/index.html)
* [Building a site with AMP support](https://docs.wagtail.org/en/v2.8.2/advanced_topics/amp.html)
* [Reference](https://docs.wagtail.org/en/v2.8.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.8.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.8.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.8.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.8.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.8.2/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.8.2/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.8.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.8.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.8.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.8.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.8.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.8.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.8.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.8.2/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.8.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.8.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.8.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.8.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.8.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.8.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.8.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.8.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.8.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.8.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.8.2/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.8.2/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.8.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.8.2/contributing/javascript_guidelines.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.8.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.8.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.8.2/releases/upgrading.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.8.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.8.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.8.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.8.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.9.3 documentation
* [Docs](https://docs.wagtail.org/en/v2.9.3/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.9.3/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.9.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.9.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.9.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.9.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.9.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.9.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.9.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.9.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.9.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.9.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.9.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.9.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.9.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.9.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.9.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.9.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.9.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.9.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.9.3/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.9.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.9.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.9.3/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.9.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.9.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.9.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.9.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.9.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.9.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.9.3/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.9.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.9.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.9.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.9.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.9.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.9.3/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.9.3/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.9.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.9.3/advanced_topics/api/index.html)
* [Building a site with AMP support](https://docs.wagtail.org/en/v2.9.3/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.9.3/advanced_topics/adding_reports.html)
* [Reference](https://docs.wagtail.org/en/v2.9.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.9.3/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.9.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.9.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.9.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.9.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.9.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.9.3/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.9.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.9.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.9.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.9.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.9.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.9.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.9.3/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.9.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.9.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.9.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.9.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.9.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.9.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.9.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.9.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.9.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.9.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.9.3/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.9.3/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.9.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.9.3/contributing/javascript_guidelines.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.9.3/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.9.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.9.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.9.3/releases/upgrading.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.9.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.9.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.9.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.10.2 documentation
* [Docs](https://docs.wagtail.org/en/v2.10.2/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.10.2/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.10.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.10.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.10.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.10.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.10.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.10.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.10.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.10.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.10.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.10.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.10.2/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.10.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.10.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.10.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.10.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.10.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.10.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.10.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.10.2/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.10.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.10.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.10.2/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.10.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.10.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.10.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.10.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.10.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.10.2/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.10.2/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.10.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.10.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.10.2/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.10.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.10.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.10.2/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.10.2/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.10.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.10.2/advanced_topics/api/index.html)
* [Building a site with AMP support](https://docs.wagtail.org/en/v2.10.2/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.10.2/advanced_topics/adding_reports.html)
* [How to add new Task types](https://docs.wagtail.org/en/v2.10.2/advanced_topics/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.10.2/advanced_topics/audit_log.html)
* [Reference](https://docs.wagtail.org/en/v2.10.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.10.2/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.10.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.10.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.10.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.10.2/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.10.2/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.10.2/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.10.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.10.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.10.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.10.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.10.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.10.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.10.2/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.10.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.10.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.10.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.10.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.10.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.10.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.10.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.10.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.10.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.10.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.10.2/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.10.2/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.10.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.10.2/contributing/javascript_guidelines.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.10.2/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.10.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.10.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.10.2/releases/upgrading.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.10.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.10.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.10.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.11.8 documentation
* [Docs](https://docs.wagtail.org/en/v2.11.8/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.11.8/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.11.8/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.11.8/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.11.8/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.11.8/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.11.8/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.11.8/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.11.8/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.11.8/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.11.8/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.11.8/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.11.8/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.11.8/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.11.8/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.11.8/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.11.8/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.11.8/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.11.8/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.11.8/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.11.8/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.11.8/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.11.8/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.11.8/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.11.8/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.11.8/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.11.8/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.11.8/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.11.8/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.11.8/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.11.8/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.11.8/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.11.8/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.11.8/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.11.8/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.11.8/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.11.8/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.11.8/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.11.8/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.11.8/advanced_topics/api/index.html)
* [Building a site with AMP support](https://docs.wagtail.org/en/v2.11.8/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.11.8/advanced_topics/adding_reports.html)
* [How to add new Task types](https://docs.wagtail.org/en/v2.11.8/advanced_topics/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.11.8/advanced_topics/audit_log.html)
* [Reference](https://docs.wagtail.org/en/v2.11.8/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.11.8/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.11.8/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.11.8/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.11.8/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.11.8/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.11.8/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.11.8/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.11.8/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.11.8/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.11.8/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.11.8/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.11.8/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.11.8/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.11.8/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.11.8/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.11.8/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.11.8/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.11.8/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.11.8/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.11.8/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.11.8/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.11.8/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.11.8/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.11.8/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.11.8/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.11.8/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.11.8/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.11.8/contributing/javascript_guidelines.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.11.8/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.11.8/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.11.8/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.11.8/releases/upgrading.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.11.8/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.11.8/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.11.8/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail 2.12.5 documentation
* [Docs](https://docs.wagtail.org/en/v2.12.5/#)
»
* Welcome to Wagtail’s documentation
* [Edit on GitHub](https://github.com/wagtail/wagtail/blob/v2.12.5/docs/index.rst)
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.12.5/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, [explore the Wagtail Bakery](https://divio.com/wagtail)
, a fully-functional interactive demo (hosted at Divio Cloud).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.12.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.12.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.12.5/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.12.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.12.5/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.12.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.12.5/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.12.5/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.12.5/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.12.5/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.12.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.12.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.12.5/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.12.5/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.12.5/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.12.5/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.12.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.12.5/topics/writing_templates.html)
* [Using images in templates](https://docs.wagtail.org/en/v2.12.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.12.5/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.12.5/topics/snippets.html)
* [Freeform page content using StreamField](https://docs.wagtail.org/en/v2.12.5/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.12.5/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.12.5/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.12.5/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.12.5/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.12.5/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.12.5/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.12.5/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.12.5/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.12.5/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.12.5/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.12.5/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.12.5/advanced_topics/third_party_tutorials.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.12.5/advanced_topics/jinja2.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.12.5/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.12.5/advanced_topics/api/index.html)
* [Building a site with AMP support](https://docs.wagtail.org/en/v2.12.5/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.12.5/advanced_topics/adding_reports.html)
* [How to add new Task types](https://docs.wagtail.org/en/v2.12.5/advanced_topics/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.12.5/advanced_topics/audit_log.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v2.12.5/advanced_topics/accessibility_considerations.html)
* [Reference](https://docs.wagtail.org/en/v2.12.5/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.12.5/reference/pages/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.12.5/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.12.5/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.12.5/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.12.5/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.12.5/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.12.5/reference/project_template.html)
* [Support](https://docs.wagtail.org/en/v2.12.5/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.12.5/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.12.5/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.12.5/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.12.5/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.12.5/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.12.5/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.12.5/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.12.5/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.12.5/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.12.5/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.12.5/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.12.5/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.12.5/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.12.5/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.12.5/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.12.5/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.12.5/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.12.5/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.12.5/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.12.5/contributing/javascript_guidelines.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.12.5/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.12.5/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.12.5/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.12.5/releases/upgrading.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.12.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.12.5/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.12.5/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.12.5/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 2.13.5 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.13.5/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.io/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.13.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.13.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.13.5/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.13.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.13.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.13.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.13.5/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.13.5/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.13.5/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.13.5/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.13.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.13.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.13.5/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.13.5/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.13.5/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.13.5/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.13.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.13.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.13.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.13.5/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.13.5/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v2.13.5/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.13.5/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.13.5/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.13.5/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.13.5/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.13.5/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.13.5/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.13.5/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.13.5/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.13.5/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.13.5/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.13.5/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.13.5/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.13.5/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.13.5/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v2.13.5/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.13.5/advanced_topics/adding_reports.html)
* [How to add new Task types](https://docs.wagtail.org/en/v2.13.5/advanced_topics/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.13.5/advanced_topics/audit_log.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v2.13.5/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v2.13.5/advanced_topics/boundblocks_and_values.html)
* [Reference](https://docs.wagtail.org/en/v2.13.5/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.13.5/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v2.13.5/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.13.5/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.13.5/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.13.5/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.13.5/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.13.5/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.13.5/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.13.5/reference/jinja2.html)
* [Support](https://docs.wagtail.org/en/v2.13.5/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.13.5/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.13.5/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.13.5/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.13.5/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.13.5/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.13.5/editor_manual/editing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.13.5/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.13.5/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.13.5/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.13.5/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.13.5/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.13.5/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.13.5/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.13.5/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.13.5/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/javascript_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v2.13.5/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v2.13.5/contributing/documentation-modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.13.5/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.13.5/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.13.5/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.13.5/releases/upgrading.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.12.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.13.5/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.13.5/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.13.5/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 2.14.2 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.14.2/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.io/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.14.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.14.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.14.2/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.14.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.14.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.14.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.14.2/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.14.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.14.2/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.14.2/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.14.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.14.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.14.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.14.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.14.2/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.14.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.14.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.14.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.14.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.14.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.14.2/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v2.14.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.14.2/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.14.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.14.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.14.2/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.14.2/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.14.2/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.14.2/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.14.2/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.14.2/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.14.2/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.14.2/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.14.2/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.14.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.14.2/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v2.14.2/advanced_topics/amp.html)
* [Adding reports](https://docs.wagtail.org/en/v2.14.2/advanced_topics/adding_reports.html)
* [How to add new Task types](https://docs.wagtail.org/en/v2.14.2/advanced_topics/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.14.2/advanced_topics/audit_log.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v2.14.2/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v2.14.2/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v2.14.2/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [Reference](https://docs.wagtail.org/en/v2.14.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.14.2/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v2.14.2/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.14.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.14.2/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.14.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.14.2/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.14.2/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.14.2/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.14.2/reference/jinja2.html)
* [Support](https://docs.wagtail.org/en/v2.14.2/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.14.2/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.14.2/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.14.2/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.14.2/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.14.2/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.14.2/editor_manual/editing_existing_pages.html)
* [Copying and creating aliases to existing pages](https://docs.wagtail.org/en/v2.14.2/editor_manual/copying_aliasing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.14.2/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.14.2/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.14.2/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.14.2/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.14.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.14.2/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.14.2/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.14.2/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.14.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/javascript_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v2.14.2/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v2.14.2/contributing/documentation-modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.14.2/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.14.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.14.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.14.2/releases/upgrading.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.12.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.14.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.14.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.14.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 4.1.9 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v4.1.9/#welcome-to-wagtail-s-documentation "Permalink to this heading")
==========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v4.1.9/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.1.9/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.1.9/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v4.1.9/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.1.9/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.1.9/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.1.9/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.1.9/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/4.1.x/)
Index[¶](https://docs.wagtail.org/en/v4.1.9/#index "Permalink to this heading")
--------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v4.1.9/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.1.9/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.1.9/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v4.1.9/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v4.1.9/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v4.1.9/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v4.1.9/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.1.9/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.1.9/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.1.9/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v4.1.9/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v4.1.9/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v4.1.9/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v4.1.9/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v4.1.9/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v4.1.9/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v4.1.9/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v4.1.9/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v4.1.9/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v4.1.9/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v4.1.9/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v4.1.9/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v4.1.9/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.1.9/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v4.1.9/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v4.1.9/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v4.1.9/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v4.1.9/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v4.1.9/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v4.1.9/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v4.1.9/advanced_topics/formbuilder_routablepage_redirect.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v4.1.9/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v4.1.9/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v4.1.9/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v4.1.9/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v4.1.9/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v4.1.9/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v4.1.9/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v4.1.9/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v4.1.9/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v4.1.9/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v4.1.9/extending/customising_group_views.html)
* [Rich text internals](https://docs.wagtail.org/en/v4.1.9/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v4.1.9/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v4.1.9/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v4.1.9/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v4.1.9/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v4.1.9/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v4.1.9/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v4.1.9/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v4.1.9/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v4.1.9/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v4.1.9/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v4.1.9/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v4.1.9/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v4.1.9/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v4.1.9/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v4.1.9/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v4.1.9/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v4.1.9/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v4.1.9/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v4.1.9/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v4.1.9/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v4.1.9/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v4.1.9/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v4.1.9/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v4.1.9/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v4.1.9/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v4.1.9/contributing/documentation_modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v4.1.9/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v4.1.9/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v4.1.9/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v4.1.9/releases/upgrading.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.1.html)
* [Wagtail 4.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v4.1.9/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v4.1.9/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v4.1.9/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v4.1.9/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v4.1.9/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 4.2.4 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v4.2.4/#welcome-to-wagtail-s-documentation "Permalink to this heading")
==========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v4.2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.2.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.2.4/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v4.2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.2.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.2.4/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.2.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/4.2.x/)
Index[¶](https://docs.wagtail.org/en/v4.2.4/#index "Permalink to this heading")
--------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v4.2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.2.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.2.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v4.2.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v4.2.4/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v4.2.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v4.2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.2.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.2.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v4.2.4/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v4.2.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v4.2.4/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v4.2.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v4.2.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v4.2.4/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v4.2.4/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v4.2.4/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v4.2.4/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v4.2.4/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v4.2.4/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v4.2.4/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v4.2.4/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.2.4/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v4.2.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v4.2.4/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v4.2.4/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v4.2.4/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v4.2.4/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v4.2.4/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v4.2.4/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v4.2.4/advanced_topics/streamfield_migrations.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v4.2.4/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v4.2.4/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v4.2.4/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v4.2.4/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v4.2.4/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v4.2.4/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v4.2.4/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v4.2.4/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v4.2.4/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v4.2.4/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v4.2.4/extending/customising_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v4.2.4/extending/custom_image_filters.html)
* [Rich text internals](https://docs.wagtail.org/en/v4.2.4/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v4.2.4/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v4.2.4/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v4.2.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v4.2.4/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v4.2.4/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v4.2.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v4.2.4/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v4.2.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v4.2.4/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v4.2.4/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v4.2.4/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v4.2.4/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v4.2.4/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v4.2.4/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v4.2.4/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v4.2.4/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v4.2.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v4.2.4/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v4.2.4/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v4.2.4/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v4.2.4/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v4.2.4/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v4.2.4/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v4.2.4/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v4.2.4/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v4.2.4/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v4.2.4/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v4.2.4/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v4.2.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v4.2.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v4.2.4/releases/upgrading.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.2.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.1.html)
* [Wagtail 4.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v4.2.4/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v4.2.4/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v4.2.4/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v4.2.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v4.2.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/stable/index.html#welcome-to-wagtail-s-documentation "Link to this heading")
===============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/stable/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/stable/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/stable/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/stable/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/stable/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/stable/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/stable/topics/images.html)
* [Search](https://docs.wagtail.org/en/stable/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/stable/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/stable/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/stable/index.html#index "Link to this heading")
-------------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/stable/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/stable/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/stable/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/stable/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/stable/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/stable/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/stable/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/stable/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/stable/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/stable/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/stable/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/stable/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/stable/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/stable/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/stable/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/stable/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/stable/topics/index.html)
* [Page models](https://docs.wagtail.org/en/stable/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/stable/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/stable/topics/images.html)
* [Search](https://docs.wagtail.org/en/stable/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/stable/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/stable/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/stable/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/stable/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/stable/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/stable/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/stable/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/stable/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/stable/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/stable/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/stable/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/stable/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/stable/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/stable/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/stable/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/stable/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/stable/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/stable/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/stable/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/stable/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/stable/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/stable/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/stable/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/stable/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/stable/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/stable/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/stable/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/stable/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/stable/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/stable/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/stable/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/stable/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/stable/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/stable/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/stable/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/stable/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/stable/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/stable/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/stable/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/stable/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/stable/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/stable/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/stable/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/stable/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/stable/reference/index.html)
* [Pages](https://docs.wagtail.org/en/stable/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/stable/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/stable/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/stable/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/stable/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/stable/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/stable/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/stable/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/stable/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/stable/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/stable/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/stable/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/stable/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/stable/deployment/index.html)
* [Support](https://docs.wagtail.org/en/stable/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/stable/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/stable/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/stable/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/stable/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/stable/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/stable/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/stable/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/stable/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/stable/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/stable/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/stable/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/stable/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/stable/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/stable/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/stable/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/stable/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/stable/releases/release_process.html)
* [Wagtail 7.2.1 release notes](https://docs.wagtail.org/en/stable/releases/7.2.1.html)
* [Wagtail 7.2 release notes](https://docs.wagtail.org/en/stable/releases/7.2.html)
* [Wagtail 7.1.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/stable/releases/7.1.3.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/stable/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/stable/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/stable/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/stable/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/stable/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/stable/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/stable/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/stable/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/stable/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/stable/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/stable/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/stable/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/stable/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/stable/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/stable/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/stable/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/stable/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/stable/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/stable/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/stable/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/stable/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/stable/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/stable/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/stable/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/stable/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/stable/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/stable/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/stable/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/stable/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/stable/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/stable/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/stable/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/stable/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/stable/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/stable/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/stable/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/stable/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/stable/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/stable/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/stable/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/stable/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/stable/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/stable/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/stable/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/stable/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/stable/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/stable/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/stable/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/stable/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/stable/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/stable/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/stable/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/stable/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/stable/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/stable/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/stable/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/stable/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/stable/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/stable/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/stable/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/stable/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/stable/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/stable/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/stable/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/stable/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/stable/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/stable/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/stable/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/stable/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/stable/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/stable/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/stable/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/stable/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/stable/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/stable/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/stable/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/stable/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/stable/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/stable/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/stable/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/stable/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/stable/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/stable/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/stable/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/stable/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/stable/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/stable/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/stable/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/stable/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/stable/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/stable/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/stable/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/stable/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/stable/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/stable/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/stable/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/stable/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/stable/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/stable/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/stable/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/stable/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/stable/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/stable/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/stable/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/stable/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/stable/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/stable/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/stable/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/stable/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/stable/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/stable/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/stable/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/stable/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/stable/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/stable/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/stable/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/stable/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/stable/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/stable/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/stable/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/stable/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/stable/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/stable/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/stable/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/stable/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/stable/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/stable/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/stable/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/stable/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/stable/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/stable/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/stable/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/stable/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/stable/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/stable/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/stable/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/stable/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/stable/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/stable/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/stable/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/stable/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/stable/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/stable/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/stable/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/stable/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/stable/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/stable/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/stable/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/stable/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/stable/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/stable/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/stable/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/stable/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/stable/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/stable/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/stable/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/stable/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/stable/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/stable/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/stable/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/stable/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/stable/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/stable/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/stable/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/stable/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/stable/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/stable/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/stable/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/stable/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/stable/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/stable/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/stable/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/stable/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/stable/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/stable/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/stable/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/stable/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/stable/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/stable/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/stable/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/stable/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/stable/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/stable/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/stable/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/stable/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/stable/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/stable/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/stable/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/stable/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/stable/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/stable/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 2.15.6 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.15.6/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.io/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.15.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.15.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.15.6/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.15.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.15.6/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.15.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.15.6/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.15.6/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.15.6/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.15.6/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.15.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.15.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.15.6/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.15.6/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.15.6/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.15.6/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.15.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.15.6/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.15.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.15.6/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.15.6/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v2.15.6/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.15.6/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.15.6/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.15.6/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.15.6/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.15.6/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.15.6/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.15.6/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.15.6/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.15.6/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.15.6/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.15.6/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.15.6/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.15.6/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.15.6/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v2.15.6/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v2.15.6/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v2.15.6/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v2.15.6/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v2.15.6/advanced_topics/formbuilder_routablepage_redirect.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v2.15.6/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v2.15.6/extending/admin_views.html)
* [Template components](https://docs.wagtail.org/en/v2.15.6/extending/template_components.html)
* [Adding reports](https://docs.wagtail.org/en/v2.15.6/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v2.15.6/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.15.6/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v2.15.6/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v2.15.6/extending/customising_group_views.html)
* [Rich text internals](https://docs.wagtail.org/en/v2.15.6/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v2.15.6/extending/extending_draftail.html)
* [Extending the Hallo Editor](https://docs.wagtail.org/en/v2.15.6/extending/extending_hallo.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v2.15.6/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v2.15.6/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.15.6/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v2.15.6/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.15.6/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.15.6/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.15.6/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.15.6/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.15.6/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.15.6/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.15.6/reference/jinja2.html)
* [Support](https://docs.wagtail.org/en/v2.15.6/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.15.6/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.15.6/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.15.6/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.15.6/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.15.6/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.15.6/editor_manual/editing_existing_pages.html)
* [Copying and creating aliases to existing pages](https://docs.wagtail.org/en/v2.15.6/editor_manual/copying_aliasing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.15.6/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.15.6/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.15.6/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.15.6/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.15.6/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.15.6/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.15.6/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.15.6/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.15.6/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/javascript_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v2.15.6/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v2.15.6/contributing/documentation-modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.15.6/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.15.6/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.15.6/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.15.6/releases/upgrading.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.15.6/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.15.6/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.15.6/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 5.0.5 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v5.0.5/#welcome-to-wagtail-s-documentation "Permalink to this heading")
==========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v5.0.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.0.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v5.0.5/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v5.0.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.0.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.0.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.0.5/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.0.5/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v5.0.5/#index "Permalink to this heading")
--------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v5.0.5/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.0.5/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v5.0.5/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v5.0.5/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v5.0.5/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v5.0.5/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v5.0.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.0.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.0.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.0.5/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v5.0.5/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v5.0.5/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v5.0.5/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v5.0.5/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v5.0.5/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v5.0.5/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v5.0.5/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v5.0.5/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v5.0.5/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v5.0.5/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v5.0.5/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v5.0.5/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v5.0.5/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v5.0.5/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.0.5/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v5.0.5/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v5.0.5/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v5.0.5/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v5.0.5/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v5.0.5/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v5.0.5/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v5.0.5/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v5.0.5/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v5.0.5/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v5.0.5/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v5.0.5/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v5.0.5/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v5.0.5/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v5.0.5/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v5.0.5/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v5.0.5/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v5.0.5/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v5.0.5/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v5.0.5/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v5.0.5/extending/customising_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v5.0.5/extending/custom_image_filters.html)
* [Rich text internals](https://docs.wagtail.org/en/v5.0.5/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v5.0.5/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v5.0.5/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v5.0.5/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v5.0.5/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v5.0.5/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v5.0.5/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v5.0.5/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v5.0.5/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v5.0.5/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v5.0.5/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v5.0.5/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v5.0.5/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v5.0.5/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v5.0.5/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v5.0.5/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v5.0.5/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v5.0.5/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v5.0.5/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v5.0.5/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v5.0.5/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v5.0.5/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v5.0.5/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v5.0.5/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v5.0.5/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v5.0.5/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v5.0.5/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v5.0.5/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v5.0.5/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v5.0.5/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v5.0.5/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v5.0.5/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v5.0.5/releases/upgrading.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v5.0.5/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.1.html)
* [Wagtail 4.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v5.0.5/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v5.0.5/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v5.0.5/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v5.0.5/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v5.0.5/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 2.16.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v2.16.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
============================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v2.16.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.16.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.16.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v2.16.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.16.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.16.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.16.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.16.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v2.16.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v2.16.3/#index "Permalink to this headline")
----------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v2.16.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v2.16.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v2.16.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v2.16.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v2.16.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v2.16.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v2.16.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v2.16.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v2.16.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v2.16.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v2.16.3/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v2.16.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v2.16.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v2.16.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v2.16.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v2.16.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v2.16.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v2.16.3/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v2.16.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v2.16.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v2.16.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v2.16.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v2.16.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v2.16.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v2.16.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v2.16.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v2.16.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v2.16.3/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v2.16.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v2.16.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v2.16.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v2.16.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v2.16.3/extending/admin_views.html)
* [Template components](https://docs.wagtail.org/en/v2.16.3/extending/template_components.html)
* [Adding reports](https://docs.wagtail.org/en/v2.16.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v2.16.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v2.16.3/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v2.16.3/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v2.16.3/extending/customising_group_views.html)
* [Rich text internals](https://docs.wagtail.org/en/v2.16.3/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v2.16.3/extending/extending_draftail.html)
* [Extending the Hallo Editor](https://docs.wagtail.org/en/v2.16.3/extending/extending_hallo.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v2.16.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v2.16.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v2.16.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v2.16.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v2.16.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v2.16.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v2.16.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v2.16.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v2.16.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v2.16.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v2.16.3/reference/jinja2.html)
* [Support](https://docs.wagtail.org/en/v2.16.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v2.16.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v2.16.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v2.16.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v2.16.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v2.16.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v2.16.3/editor_manual/editing_existing_pages.html)
* [Copying and creating aliases to existing pages](https://docs.wagtail.org/en/v2.16.3/editor_manual/copying_aliasing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v2.16.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v2.16.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v2.16.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v2.16.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v2.16.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v2.16.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v2.16.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v2.16.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v2.16.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/javascript_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v2.16.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v2.16.3/contributing/documentation-modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v2.16.3/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v2.16.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v2.16.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v2.16.3/releases/upgrading.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v2.16.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v2.16.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v2.16.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 3.0.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v3.0.3/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v3.0.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v3.0.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v3.0.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v3.0.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v3.0.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v3.0.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v3.0.3/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v3.0.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v3.0.3/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v3.0.3/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v3.0.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v3.0.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v3.0.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v3.0.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v3.0.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v3.0.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v3.0.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v3.0.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v3.0.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v3.0.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v3.0.3/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v3.0.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v3.0.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v3.0.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v3.0.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v3.0.3/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v3.0.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v3.0.3/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v3.0.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v3.0.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v3.0.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v3.0.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v3.0.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v3.0.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v3.0.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v3.0.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v3.0.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v3.0.3/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v3.0.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v3.0.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v3.0.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v3.0.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v3.0.3/extending/admin_views.html)
* [Template components](https://docs.wagtail.org/en/v3.0.3/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v3.0.3/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v3.0.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v3.0.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v3.0.3/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v3.0.3/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v3.0.3/extending/customising_group_views.html)
* [Rich text internals](https://docs.wagtail.org/en/v3.0.3/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v3.0.3/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v3.0.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v3.0.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v3.0.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v3.0.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v3.0.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v3.0.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v3.0.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v3.0.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v3.0.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v3.0.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v3.0.3/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v3.0.3/reference/panel_api.html)
* [Support](https://docs.wagtail.org/en/v3.0.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v3.0.3/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v3.0.3/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v3.0.3/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v3.0.3/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v3.0.3/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v3.0.3/editor_manual/editing_existing_pages.html)
* [Copying and creating aliases to existing pages](https://docs.wagtail.org/en/v3.0.3/editor_manual/copying_aliasing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v3.0.3/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v3.0.3/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v3.0.3/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v3.0.3/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v3.0.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v3.0.3/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v3.0.3/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v3.0.3/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v3.0.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/python_guidelines.html)
* [HTML coding guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/html_guidelines.html)
* [CSS coding guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/css_guidelines.html)
* [JavaScript coding guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/javascript_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v3.0.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v3.0.3/contributing/documentation-modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v3.0.3/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v3.0.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v3.0.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v3.0.3/releases/upgrading.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v3.0.3/releases/3.0.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.16.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v3.0.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v3.0.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v3.0.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 4.0.4 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v4.0.4/#welcome-to-wagtail-s-documentation "Permalink to this headline")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v4.0.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.0.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.0.4/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v4.0.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.0.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.0.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.0.4/topics/search/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.0.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide](https://docs.wagtail.org/en/v4.0.4/editor_manual/index.html)
Index[¶](https://docs.wagtail.org/en/v4.0.4/#index "Permalink to this headline")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v4.0.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v4.0.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v4.0.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v4.0.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v4.0.4/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v4.0.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v4.0.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v4.0.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v4.0.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v4.0.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v4.0.4/topics/snippets.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v4.0.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v4.0.4/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v4.0.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v4.0.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v4.0.4/advanced_topics/documents/index.html)
* [Embedded content](https://docs.wagtail.org/en/v4.0.4/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v4.0.4/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v4.0.4/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v4.0.4/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v4.0.4/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v4.0.4/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v4.0.4/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v4.0.4/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v4.0.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v4.0.4/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v4.0.4/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v4.0.4/advanced_topics/accessibility_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v4.0.4/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v4.0.4/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v4.0.4/advanced_topics/formbuilder_routablepage_redirect.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v4.0.4/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v4.0.4/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v4.0.4/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v4.0.4/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v4.0.4/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v4.0.4/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v4.0.4/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v4.0.4/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v4.0.4/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v4.0.4/extending/customising_group_views.html)
* [Rich text internals](https://docs.wagtail.org/en/v4.0.4/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v4.0.4/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v4.0.4/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v4.0.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v4.0.4/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v4.0.4/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v4.0.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v4.0.4/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v4.0.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v4.0.4/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v4.0.4/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v4.0.4/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v4.0.4/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v4.0.4/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v4.0.4/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v4.0.4/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v4.0.4/editor_manual/index.html)
* [Introduction](https://docs.wagtail.org/en/v4.0.4/editor_manual/intro.html)
* [Getting started](https://docs.wagtail.org/en/v4.0.4/editor_manual/getting_started.html)
* [Finding your way around](https://docs.wagtail.org/en/v4.0.4/editor_manual/finding_your_way_around/index.html)
* [Creating new pages](https://docs.wagtail.org/en/v4.0.4/editor_manual/new_pages/index.html)
* [Editing existing pages](https://docs.wagtail.org/en/v4.0.4/editor_manual/editing_existing_pages.html)
* [Copying and creating aliases to existing pages](https://docs.wagtail.org/en/v4.0.4/editor_manual/copying_aliasing_existing_pages.html)
* [Managing documents, images, snippets and collections](https://docs.wagtail.org/en/v4.0.4/editor_manual/documents_images_snippets/index.html)
* [Managing Redirects](https://docs.wagtail.org/en/v4.0.4/editor_manual/managing_redirects.html)
* [Administrator tasks](https://docs.wagtail.org/en/v4.0.4/editor_manual/administrator_tasks/index.html)
* [Browser issues](https://docs.wagtail.org/en/v4.0.4/editor_manual/browser_issues.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v4.0.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v4.0.4/contributing/issue_tracking.html)
* [Development](https://docs.wagtail.org/en/v4.0.4/contributing/developing.html)
* [Committing code](https://docs.wagtail.org/en/v4.0.4/contributing/committing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v4.0.4/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v4.0.4/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v4.0.4/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v4.0.4/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v4.0.4/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v4.0.4/contributing/documentation_modes.html)
* [Reporting security issues](https://docs.wagtail.org/en/v4.0.4/contributing/security.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v4.0.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v4.0.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v4.0.4/releases/upgrading.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v4.0.4/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v4.0.4/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.1.html)
* [Wagtail 2.15 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.1.html)
* [Wagtail 2.11 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.7.1.html)
* [Wagtail 2.7 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.4.html)
* [Wagtail 2.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v4.0.4/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.13.1.html)
* [Wagtail 1.13 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.1.html)
* [Wagtail 1.12 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.8.1.html)
* [Wagtail 1.8 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.1.html)
* [Wagtail 1.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v4.0.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.1.html)
* [Wagtail 0.8 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v4.0.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 5.1.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v5.1.3/#welcome-to-wagtail-s-documentation "Permalink to this heading")
==========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v5.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.1.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v5.1.3/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v5.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.1.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.1.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v5.1.3/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.1.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v5.1.3/#index "Permalink to this heading")
--------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v5.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.1.3/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v5.1.3/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v5.1.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v5.1.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v5.1.3/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v5.1.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v5.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.1.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.1.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v5.1.3/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v5.1.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v5.1.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v5.1.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v5.1.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v5.1.3/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v5.1.3/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v5.1.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v5.1.3/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v5.1.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v5.1.3/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v5.1.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v5.1.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v5.1.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.1.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v5.1.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v5.1.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v5.1.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v5.1.3/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v5.1.3/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v5.1.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v5.1.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v5.1.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v5.1.3/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v5.1.3/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v5.1.3/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v5.1.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v5.1.3/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v5.1.3/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v5.1.3/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v5.1.3/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v5.1.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v5.1.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v5.1.3/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v5.1.3/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v5.1.3/extending/customising_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v5.1.3/extending/custom_image_filters.html)
* [Rich text internals](https://docs.wagtail.org/en/v5.1.3/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v5.1.3/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v5.1.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v5.1.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v5.1.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v5.1.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v5.1.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v5.1.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v5.1.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v5.1.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v5.1.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v5.1.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v5.1.3/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v5.1.3/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v5.1.3/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v5.1.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v5.1.3/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v5.1.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v5.1.3/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v5.1.3/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v5.1.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v5.1.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v5.1.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v5.1.3/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v5.1.3/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v5.1.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v5.1.3/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v5.1.3/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v5.1.3/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v5.1.3/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v5.1.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v5.1.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v5.1.3/releases/upgrading.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v5.1.3/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v5.1.3/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v5.1.3/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v5.1.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v5.1.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v5.1.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 5.2.8 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v5.2.8/#welcome-to-wagtail-s-documentation "Permalink to this heading")
==========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v5.2.8/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.2.8/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v5.2.8/getting_started/demo_site.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v5.2.8/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.2.8/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.2.8/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.2.8/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v5.2.8/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.2.8/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v5.2.8/#index "Permalink to this heading")
--------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v5.2.8/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v5.2.8/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v5.2.8/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v5.2.8/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v5.2.8/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v5.2.8/getting_started/the_zen_of_wagtail.html)
* [Usage guide](https://docs.wagtail.org/en/v5.2.8/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v5.2.8/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v5.2.8/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v5.2.8/topics/images.html)
* [Search](https://docs.wagtail.org/en/v5.2.8/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v5.2.8/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v5.2.8/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v5.2.8/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v5.2.8/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v5.2.8/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v5.2.8/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v5.2.8/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v5.2.8/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v5.2.8/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v5.2.8/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v5.2.8/advanced_topics/performance.html)
* [Internationalisation](https://docs.wagtail.org/en/v5.2.8/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v5.2.8/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v5.2.8/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v5.2.8/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v5.2.8/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v5.2.8/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v5.2.8/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v5.2.8/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v5.2.8/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v5.2.8/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v5.2.8/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v5.2.8/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v5.2.8/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v5.2.8/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v5.2.8/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v5.2.8/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v5.2.8/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v5.2.8/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v5.2.8/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v5.2.8/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v5.2.8/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v5.2.8/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v5.2.8/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v5.2.8/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v5.2.8/extending/customising_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v5.2.8/extending/custom_image_filters.html)
* [Extending client-side behaviour](https://docs.wagtail.org/en/v5.2.8/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v5.2.8/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v5.2.8/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v5.2.8/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v5.2.8/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v5.2.8/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v5.2.8/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v5.2.8/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v5.2.8/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v5.2.8/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v5.2.8/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v5.2.8/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v5.2.8/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v5.2.8/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v5.2.8/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v5.2.8/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v5.2.8/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v5.2.8/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v5.2.8/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v5.2.8/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v5.2.8/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v5.2.8/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v5.2.8/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v5.2.8/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v5.2.8/contributing/python_guidelines.html)
* [UI Guidelines](https://docs.wagtail.org/en/v5.2.8/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v5.2.8/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v5.2.8/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v5.2.8/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v5.2.8/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v5.2.8/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v5.2.8/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v5.2.8/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v5.2.8/releases/upgrading.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v5.2.8/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v5.2.8/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v5.2.8/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v5.2.8/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v5.2.8/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v5.2.8/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.0.6 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v6.0.6/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v6.0.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.0.6/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v6.0.6/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v6.0.6/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v6.0.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.0.6/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.0.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.0.6/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.0.6/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.0.6/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v6.0.6/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v6.0.6/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.0.6/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v6.0.6/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v6.0.6/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v6.0.6/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v6.0.6/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v6.0.6/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v6.0.6/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v6.0.6/tutorial/create-footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v6.0.6/tutorial/create-footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v6.0.6/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v6.0.6/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v6.0.6/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v6.0.6/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v6.0.6/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v6.0.6/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v6.0.6/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v6.0.6/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.0.6/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.0.6/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.0.6/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.0.6/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.0.6/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.0.6/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v6.0.6/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v6.0.6/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v6.0.6/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v6.0.6/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v6.0.6/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v6.0.6/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v6.0.6/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v6.0.6/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v6.0.6/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v6.0.6/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v6.0.6/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.0.6/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v6.0.6/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v6.0.6/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v6.0.6/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v6.0.6/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v6.0.6/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v6.0.6/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v6.0.6/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v6.0.6/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v6.0.6/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v6.0.6/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v6.0.6/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v6.0.6/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v6.0.6/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v6.0.6/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v6.0.6/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v6.0.6/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v6.0.6/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v6.0.6/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v6.0.6/extending/audit_log.html)
* [Customising the user account settings form](https://docs.wagtail.org/en/v6.0.6/extending/custom_account_settings.html)
* [Customising group edit/create views](https://docs.wagtail.org/en/v6.0.6/extending/customising_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v6.0.6/extending/custom_image_filters.html)
* [Extending client-side behaviour](https://docs.wagtail.org/en/v6.0.6/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v6.0.6/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v6.0.6/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v6.0.6/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v6.0.6/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v6.0.6/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v6.0.6/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v6.0.6/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v6.0.6/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v6.0.6/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v6.0.6/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v6.0.6/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v6.0.6/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v6.0.6/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v6.0.6/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v6.0.6/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v6.0.6/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v6.0.6/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v6.0.6/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v6.0.6/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v6.0.6/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v6.0.6/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v6.0.6/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v6.0.6/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v6.0.6/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v6.0.6/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v6.0.6/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v6.0.6/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v6.0.6/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v6.0.6/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v6.0.6/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v6.0.6/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v6.0.6/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v6.0.6/releases/upgrading.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/6.0.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v6.0.6/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v6.0.6/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.1.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v6.1.3/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v6.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.1.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v6.1.3/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v6.1.3/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v6.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.1.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.1.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.1.3/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.1.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v6.1.3/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v6.1.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.1.3/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v6.1.3/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v6.1.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v6.1.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v6.1.3/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v6.1.3/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v6.1.3/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v6.1.3/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v6.1.3/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v6.1.3/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v6.1.3/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v6.1.3/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v6.1.3/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v6.1.3/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v6.1.3/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v6.1.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v6.1.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.1.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.1.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.1.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.1.3/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.1.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.1.3/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v6.1.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v6.1.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v6.1.3/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v6.1.3/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v6.1.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v6.1.3/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v6.1.3/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v6.1.3/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v6.1.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v6.1.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v6.1.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.1.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v6.1.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v6.1.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v6.1.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v6.1.3/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v6.1.3/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v6.1.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v6.1.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v6.1.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v6.1.3/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v6.1.3/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v6.1.3/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v6.1.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v6.1.3/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v6.1.3/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v6.1.3/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v6.1.3/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v6.1.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v6.1.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v6.1.3/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v6.1.3/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v6.1.3/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v6.1.3/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v6.1.3/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v6.1.3/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v6.1.3/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v6.1.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v6.1.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v6.1.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v6.1.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v6.1.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v6.1.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v6.1.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v6.1.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v6.1.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v6.1.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v6.1.3/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v6.1.3/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v6.1.3/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v6.1.3/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v6.1.3/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v6.1.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v6.1.3/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v6.1.3/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v6.1.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v6.1.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v6.1.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v6.1.3/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v6.1.3/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v6.1.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v6.1.3/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v6.1.3/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v6.1.3/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v6.1.3/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v6.1.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v6.1.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v6.1.3/releases/upgrading.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/6.0.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v6.1.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v6.1.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.2.4 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v6.2.4/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v6.2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.2.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v6.2.4/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v6.2.4/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v6.2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.2.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.2.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.2.4/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.2.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v6.2.4/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v6.2.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.2.4/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v6.2.4/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v6.2.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v6.2.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v6.2.4/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v6.2.4/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v6.2.4/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v6.2.4/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v6.2.4/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v6.2.4/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v6.2.4/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v6.2.4/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v6.2.4/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v6.2.4/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v6.2.4/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v6.2.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v6.2.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.2.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.2.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.2.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.2.4/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.2.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.2.4/topics/permissions.html)
* [Advanced topics](https://docs.wagtail.org/en/v6.2.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v6.2.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v6.2.4/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v6.2.4/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v6.2.4/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v6.2.4/advanced_topics/add_to_django_project.html)
* [Deploying Wagtail](https://docs.wagtail.org/en/v6.2.4/advanced_topics/deploying.html)
* [Performance](https://docs.wagtail.org/en/v6.2.4/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v6.2.4/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v6.2.4/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/v6.2.4/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.2.4/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v6.2.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v6.2.4/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v6.2.4/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v6.2.4/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v6.2.4/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v6.2.4/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v6.2.4/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v6.2.4/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v6.2.4/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v6.2.4/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/v6.2.4/advanced_topics/reference_index.html)
* [Extending Wagtail](https://docs.wagtail.org/en/v6.2.4/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v6.2.4/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v6.2.4/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v6.2.4/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v6.2.4/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v6.2.4/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v6.2.4/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v6.2.4/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v6.2.4/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v6.2.4/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v6.2.4/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v6.2.4/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v6.2.4/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/v6.2.4/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v6.2.4/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v6.2.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v6.2.4/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v6.2.4/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v6.2.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v6.2.4/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/v6.2.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v6.2.4/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v6.2.4/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v6.2.4/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v6.2.4/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/v6.2.4/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/v6.2.4/reference/viewsets.html)
* [Support](https://docs.wagtail.org/en/v6.2.4/support.html)
* [Using Wagtail: an Editor’s guide](https://docs.wagtail.org/en/v6.2.4/editor_manual/index.html)
* [Contributing to Wagtail](https://docs.wagtail.org/en/v6.2.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v6.2.4/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v6.2.4/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v6.2.4/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v6.2.4/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v6.2.4/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v6.2.4/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v6.2.4/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v6.2.4/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v6.2.4/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v6.2.4/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v6.2.4/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v6.2.4/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v6.2.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v6.2.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v6.2.4/releases/upgrading.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/6.0.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v6.2.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v6.2.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.3a0 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/latest/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/latest/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/latest/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/latest/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/latest/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/latest/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/latest/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/latest/topics/images.html)
* [Search](https://docs.wagtail.org/en/latest/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/latest/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/latest/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/latest/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/latest/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/latest/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/latest/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/latest/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/latest/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/latest/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/latest/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/latest/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/latest/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/latest/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/latest/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/latest/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/latest/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/latest/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/latest/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/latest/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/latest/topics/index.html)
* [Page models](https://docs.wagtail.org/en/latest/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/latest/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/latest/topics/images.html)
* [Search](https://docs.wagtail.org/en/latest/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/latest/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/latest/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/latest/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/latest/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/latest/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/latest/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/latest/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/latest/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/latest/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/latest/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/latest/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/latest/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/latest/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/latest/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/latest/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/latest/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/latest/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/latest/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/latest/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/latest/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/latest/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/latest/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/latest/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/latest/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/latest/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/latest/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/latest/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/latest/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/latest/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/latest/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/latest/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/latest/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/latest/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/latest/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/latest/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/latest/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/latest/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/latest/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/latest/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/latest/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/latest/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/latest/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/latest/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/latest/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/latest/reference/index.html)
* [Pages](https://docs.wagtail.org/en/latest/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/latest/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/latest/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/latest/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/latest/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/latest/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/latest/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/latest/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/latest/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/latest/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/latest/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/latest/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/latest/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/latest/deployment/index.html)
* [Support](https://docs.wagtail.org/en/latest/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/latest/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/latest/contributing/index.html)
* [Your first contribution](https://docs.wagtail.org/en/latest/contributing/first_contribution_guide.html)
* [Setting up a development environment](https://docs.wagtail.org/en/latest/contributing/developing.html)
* [General coding guidelines](https://docs.wagtail.org/en/latest/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/latest/contributing/python_guidelines.html)
* [UI coding guidelines](https://docs.wagtail.org/en/latest/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/latest/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/latest/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/latest/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/latest/contributing/security.html)
* [Issue tracking](https://docs.wagtail.org/en/latest/contributing/issue_tracking.html)
* [Committing code](https://docs.wagtail.org/en/latest/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/latest/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/latest/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/latest/releases/release_process.html)
* [Wagtail 7.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/latest/releases/7.3.html)
* [Wagtail 7.2.1 release notes](https://docs.wagtail.org/en/latest/releases/7.2.1.html)
* [Wagtail 7.2 release notes](https://docs.wagtail.org/en/latest/releases/7.2.html)
* [Wagtail 7.1.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/latest/releases/7.1.3.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/latest/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/latest/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/latest/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/latest/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/latest/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/latest/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/latest/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/latest/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/latest/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/latest/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/latest/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/latest/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/latest/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/latest/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/latest/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/latest/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/latest/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/latest/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/latest/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/latest/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/latest/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/latest/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/latest/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/latest/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/latest/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/latest/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/latest/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/latest/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/latest/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/latest/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/latest/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/latest/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/latest/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/latest/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/latest/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/latest/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/latest/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/latest/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/latest/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/latest/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/latest/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/latest/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/latest/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/latest/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/latest/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/latest/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/latest/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/latest/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/latest/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/latest/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/latest/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/latest/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/latest/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/latest/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/latest/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/latest/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/latest/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/latest/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/latest/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/latest/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/latest/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/latest/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/latest/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/latest/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/latest/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/latest/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/latest/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/latest/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/latest/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/latest/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/latest/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/latest/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/latest/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/latest/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/latest/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/latest/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/latest/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/latest/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/latest/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/latest/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/latest/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/latest/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/latest/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/latest/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/latest/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/latest/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/latest/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/latest/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/latest/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/latest/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/latest/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/latest/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/latest/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/latest/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/latest/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/latest/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/latest/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/latest/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/latest/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/latest/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/latest/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/latest/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/latest/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/latest/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/latest/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/latest/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/latest/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/latest/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/latest/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/latest/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/latest/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/latest/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/latest/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/latest/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/latest/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/latest/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/latest/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/latest/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/latest/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/latest/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/latest/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/latest/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/latest/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/latest/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/latest/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/latest/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/latest/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/latest/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/latest/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/latest/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/latest/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/latest/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/latest/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/latest/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/latest/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/latest/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/latest/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/latest/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/latest/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/latest/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/latest/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/latest/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/latest/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/latest/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/latest/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/latest/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/latest/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/latest/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/latest/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/latest/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/latest/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/latest/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/latest/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/latest/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/latest/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/latest/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/latest/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/latest/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/latest/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/latest/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/latest/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/latest/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/latest/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/latest/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/latest/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/latest/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/latest/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/latest/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/latest/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/latest/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/latest/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/latest/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/latest/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/latest/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/latest/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/latest/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/latest/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/latest/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/latest/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/latest/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/latest/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/latest/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/latest/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/latest/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/latest/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/latest/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/latest/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/latest/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/latest/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/latest/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/latest/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.4.2 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v6.4.2/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v6.4.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.4.2/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v6.4.2/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v6.4.2/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v6.4.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.4.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.4.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.4.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.4.2/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.4.2/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v6.4.2/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v6.4.2/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v6.4.2/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v6.4.2/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v6.4.2/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v6.4.2/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v6.4.2/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v6.4.2/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v6.4.2/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v6.4.2/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v6.4.2/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v6.4.2/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v6.4.2/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v6.4.2/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v6.4.2/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v6.4.2/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v6.4.2/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v6.4.2/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v6.4.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.4.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.4.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.4.2/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v6.4.2/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.4.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.4.2/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/v6.4.2/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v6.4.2/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v6.4.2/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v6.4.2/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v6.4.2/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/v6.4.2/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v6.4.2/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/v6.4.2/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v6.4.2/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v6.4.2/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/v6.4.2/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v6.4.2/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v6.4.2/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v6.4.2/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v6.4.2/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v6.4.2/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v6.4.2/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v6.4.2/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v6.4.2/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v6.4.2/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v6.4.2/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v6.4.2/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/v6.4.2/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/v6.4.2/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/v6.4.2/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v6.4.2/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v6.4.2/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v6.4.2/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v6.4.2/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v6.4.2/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v6.4.2/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v6.4.2/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v6.4.2/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v6.4.2/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v6.4.2/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v6.4.2/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v6.4.2/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/v6.4.2/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v6.4.2/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v6.4.2/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v6.4.2/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v6.4.2/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v6.4.2/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v6.4.2/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/v6.4.2/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/v6.4.2/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v6.4.2/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v6.4.2/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v6.4.2/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v6.4.2/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/v6.4.2/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/v6.4.2/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/v6.4.2/deployment/index.html)
* [Support](https://docs.wagtail.org/en/v6.4.2/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/v6.4.2/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/v6.4.2/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v6.4.2/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v6.4.2/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v6.4.2/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v6.4.2/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v6.4.2/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v6.4.2/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v6.4.2/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v6.4.2/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v6.4.2/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v6.4.2/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v6.4.2/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v6.4.2/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v6.4.2/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/v6.4.2/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v6.4.2/releases/upgrading.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.4.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v6.4.2/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v6.4.2/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.0.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/v7.0.3/#welcome-to-wagtail-s-documentation "Link to this heading")
=====================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/v7.0.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.0.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/v7.0.3/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/v7.0.3/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/v7.0.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.0.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.0.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.0.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.0.3/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.0.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/v7.0.3/#index "Link to this heading")
---------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/v7.0.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.0.3/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v7.0.3/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v7.0.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v7.0.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v7.0.3/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/v7.0.3/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/v7.0.3/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/v7.0.3/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/v7.0.3/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/v7.0.3/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/v7.0.3/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/v7.0.3/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/v7.0.3/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/v7.0.3/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/v7.0.3/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/v7.0.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/v7.0.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.0.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.0.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.0.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/v7.0.3/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v7.0.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v7.0.3/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/v7.0.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/v7.0.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/v7.0.3/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/v7.0.3/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/v7.0.3/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/v7.0.3/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/v7.0.3/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/v7.0.3/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/v7.0.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/v7.0.3/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/v7.0.3/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/v7.0.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/v7.0.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/v7.0.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/v7.0.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/v7.0.3/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/v7.0.3/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/v7.0.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/v7.0.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/v7.0.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/v7.0.3/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/v7.0.3/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/v7.0.3/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/v7.0.3/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/v7.0.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/v7.0.3/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/v7.0.3/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/v7.0.3/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/v7.0.3/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/v7.0.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/v7.0.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/v7.0.3/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/v7.0.3/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/v7.0.3/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/v7.0.3/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/v7.0.3/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/v7.0.3/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/v7.0.3/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/v7.0.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/v7.0.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/v7.0.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/v7.0.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/v7.0.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/v7.0.3/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/v7.0.3/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/v7.0.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/v7.0.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/v7.0.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/v7.0.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/v7.0.3/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/v7.0.3/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/v7.0.3/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/v7.0.3/deployment/index.html)
* [Support](https://docs.wagtail.org/en/v7.0.3/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/v7.0.3/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/v7.0.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/v7.0.3/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/v7.0.3/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/v7.0.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/v7.0.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/v7.0.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/v7.0.3/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/v7.0.3/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/v7.0.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/v7.0.3/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/v7.0.3/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/v7.0.3/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/v7.0.3/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/v7.0.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/v7.0.3/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/v7.0.3/releases/release_process.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/7.0.html)
* [Wagtail 6.4.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.4.3.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/v7.0.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/v7.0.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.3.5 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/6.3/#welcome-to-wagtail-s-documentation "Link to this heading")
==================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/6.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/6.3/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/6.3/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/6.3/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/6.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/6.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/6.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/6.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/6.3/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/6.3/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/6.3/#index "Link to this heading")
------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/6.3/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/6.3/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/6.3/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/6.3/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/6.3/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/6.3/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/6.3/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/6.3/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/6.3/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/6.3/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/6.3/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/6.3/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/6.3/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/6.3/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/6.3/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/6.3/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/6.3/topics/index.html)
* [Page models](https://docs.wagtail.org/en/6.3/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/6.3/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/6.3/topics/images.html)
* [Search](https://docs.wagtail.org/en/6.3/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/6.3/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/6.3/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/6.3/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/6.3/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/6.3/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/6.3/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/6.3/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/6.3/advanced_topics/embeds.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/6.3/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/6.3/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/6.3/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/6.3/advanced_topics/privacy.html)
* [Customising Wagtail](https://docs.wagtail.org/en/6.3/advanced_topics/customisation/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/6.3/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/6.3/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/6.3/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/6.3/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/6.3/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/6.3/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/6.3/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/6.3/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/6.3/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/6.3/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/6.3/advanced_topics/streamfield_validation.html)
* [Managing the Reference Index](https://docs.wagtail.org/en/6.3/advanced_topics/reference_index.html)
* [Extending](https://docs.wagtail.org/en/6.3/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/6.3/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/6.3/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/6.3/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/6.3/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/6.3/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/6.3/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/6.3/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/6.3/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/6.3/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/6.3/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/6.3/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/6.3/extending/rich_text_internals.html)
* [Extending the Draftail Editor](https://docs.wagtail.org/en/6.3/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/6.3/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/6.3/reference/index.html)
* [Pages](https://docs.wagtail.org/en/6.3/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/6.3/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/6.3/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/6.3/reference/management_commands.html)
* [Hooks](https://docs.wagtail.org/en/6.3/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/6.3/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/6.3/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/6.3/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/6.3/reference/jinja2.html)
* [Panel API](https://docs.wagtail.org/en/6.3/reference/panel_api.html)
* [Viewsets](https://docs.wagtail.org/en/6.3/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/6.3/deployment/index.html)
* [Support](https://docs.wagtail.org/en/6.3/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/6.3/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/6.3/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/6.3/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/6.3/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/6.3/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/6.3/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/6.3/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/6.3/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/6.3/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/6.3/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/6.3/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/6.3/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/6.3/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/6.3/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/6.3/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/6.3/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/6.3/releases/upgrading.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/6.3/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/6.3/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/6.3/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/6.3/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/6.3/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/6.3/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/6.3/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/6.3/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/6.3/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/6.3/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/6.3/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/6.3/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/6.3/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/6.3/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/6.3/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/6.3/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/6.3/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/6.3/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/6.3/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/6.3/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/6.3/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/6.3/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/6.3/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/6.3/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/6.3/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/6.3/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/6.3/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/6.3/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/6.3/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/6.3/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/6.3/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/6.3/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/6.3/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/6.3/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/6.3/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/6.3/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/6.3/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/6.3/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/6.3/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/6.3/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/6.3/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/6.3/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/6.3/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/6.3/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/6.3/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/6.3/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/6.3/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/6.3/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/6.3/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/6.3/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/6.3/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/6.3/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/6.3/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/6.3/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/6.3/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/6.3/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/6.3/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/6.3/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/6.3/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/6.3/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/6.3/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/6.3/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/6.3/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 6.4.2 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/6.4/#welcome-to-wagtail-s-documentation "Link to this heading")
==================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/6.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/6.4/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/6.4/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/6.4/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/6.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/6.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/6.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/6.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/6.4/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/6.4/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/6.4/#index "Link to this heading")
------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/6.4/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/6.4/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/6.4/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/6.4/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/6.4/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/6.4/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/6.4/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/6.4/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/6.4/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/6.4/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/6.4/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/6.4/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/6.4/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/6.4/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/6.4/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/6.4/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/6.4/topics/index.html)
* [Page models](https://docs.wagtail.org/en/6.4/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/6.4/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/6.4/topics/images.html)
* [Search](https://docs.wagtail.org/en/6.4/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/6.4/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/6.4/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/6.4/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/6.4/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/6.4/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/6.4/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/6.4/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/6.4/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/6.4/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/6.4/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/6.4/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/6.4/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/6.4/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/6.4/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/6.4/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/6.4/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/6.4/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/6.4/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/6.4/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/6.4/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/6.4/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/6.4/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/6.4/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/6.4/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/6.4/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/6.4/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/6.4/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/6.4/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/6.4/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/6.4/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/6.4/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/6.4/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/6.4/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/6.4/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/6.4/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/6.4/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/6.4/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/6.4/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/6.4/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/6.4/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/6.4/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/6.4/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/6.4/reference/index.html)
* [Pages](https://docs.wagtail.org/en/6.4/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/6.4/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/6.4/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/6.4/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/6.4/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/6.4/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/6.4/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/6.4/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/6.4/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/6.4/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/6.4/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/6.4/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/6.4/deployment/index.html)
* [Support](https://docs.wagtail.org/en/6.4/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/6.4/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/6.4/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/6.4/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/6.4/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/6.4/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/6.4/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/6.4/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/6.4/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/6.4/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/6.4/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/6.4/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/6.4/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/6.4/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/6.4/contributing/committing.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/6.4/contributing/release_process.html)
* [Release notes](https://docs.wagtail.org/en/6.4/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/6.4/releases/upgrading.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/6.4/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/6.4/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/6.4/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/6.4/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/6.4/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/6.4/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/6.4/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/6.4/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/6.4/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/6.4/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/6.4/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/6.4/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/6.4/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/6.4/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/6.4/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/6.4/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/6.4/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/6.4/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/6.4/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/6.4/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/6.4/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/6.4/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/6.4/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/6.4/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/6.4/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/6.4/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/6.4/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/6.4/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/6.4/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/6.4/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/6.4/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/6.4/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/6.4/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/6.4/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/6.4/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/6.4/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/6.4/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/6.4/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/6.4/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/6.4/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/6.4/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/6.4/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/6.4/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/6.4/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/6.4/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/6.4/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/6.4/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/6.4/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/6.4/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/6.4/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/6.4/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/6.4/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/6.4/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/6.4/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/6.4/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/6.4/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/6.4/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.0.3 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/7.0/#welcome-to-wagtail-s-documentation "Link to this heading")
==================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/7.0/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/7.0/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/7.0/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/7.0/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/7.0/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/7.0/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/7.0/topics/images.html)
* [Search](https://docs.wagtail.org/en/7.0/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/7.0/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/7.0/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/7.0/#index "Link to this heading")
------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/7.0/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/7.0/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/7.0/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/7.0/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/7.0/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/7.0/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/7.0/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/7.0/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/7.0/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/7.0/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/7.0/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/7.0/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/7.0/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/7.0/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/7.0/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/7.0/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/7.0/topics/index.html)
* [Page models](https://docs.wagtail.org/en/7.0/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/7.0/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/7.0/topics/images.html)
* [Search](https://docs.wagtail.org/en/7.0/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/7.0/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/7.0/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/7.0/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/7.0/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/7.0/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/7.0/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/7.0/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/7.0/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/7.0/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/7.0/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/7.0/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/7.0/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/7.0/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/7.0/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/7.0/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/7.0/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/7.0/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/7.0/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/7.0/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/7.0/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/7.0/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/7.0/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/7.0/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/7.0/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/7.0/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/7.0/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/7.0/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/7.0/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/7.0/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/7.0/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/7.0/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/7.0/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/7.0/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/7.0/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/7.0/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/7.0/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/7.0/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/7.0/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/7.0/extending/extending_client_side.html)
* [Rich text internals](https://docs.wagtail.org/en/7.0/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/7.0/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/7.0/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/7.0/reference/index.html)
* [Pages](https://docs.wagtail.org/en/7.0/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/7.0/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/7.0/reference/contrib/index.html)
* [Management commands](https://docs.wagtail.org/en/7.0/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/7.0/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/7.0/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/7.0/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/7.0/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/7.0/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/7.0/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/7.0/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/7.0/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/7.0/deployment/index.html)
* [Support](https://docs.wagtail.org/en/7.0/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/7.0/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/7.0/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/7.0/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/7.0/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/7.0/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/7.0/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/7.0/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/7.0/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/7.0/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/7.0/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/7.0/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/7.0/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/7.0/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/7.0/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/7.0/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/7.0/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/7.0/releases/release_process.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/7.0/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/7.0/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/7.0/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/7.0/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/7.0/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/7.0/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/7.0/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/7.0/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/7.0/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/7.0/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/7.0/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/7.0/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/7.0/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/7.0/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/7.0/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/7.0/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/7.0/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/7.0/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/7.0/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/7.0/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/7.0/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/7.0/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/7.0/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/7.0/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/7.0/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/7.0/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/7.0/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/7.0/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/7.0/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/7.0/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/7.0/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/7.0/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/7.0/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/7.0/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/7.0/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/7.0/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/7.0/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/7.0/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/7.0/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/7.0/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/7.0/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/7.0/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/7.0/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/7.0/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/7.0/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/7.0/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/7.0/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/7.0/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/7.0/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/7.0/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/7.0/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/7.0/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/7.0/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/7.0/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/7.0/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.1.2 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/7.1/#welcome-to-wagtail-s-documentation "Link to this heading")
==================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/7.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/7.1/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/7.1/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/7.1/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/7.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/7.1/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/7.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/7.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/7.1/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/7.1/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/7.1/#index "Link to this heading")
------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/7.1/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/7.1/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/7.1/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/7.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/7.1/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/7.1/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/7.1/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/7.1/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/7.1/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/7.1/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/7.1/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/7.1/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/7.1/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/7.1/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/7.1/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/7.1/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/7.1/topics/index.html)
* [Page models](https://docs.wagtail.org/en/7.1/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/7.1/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/7.1/topics/images.html)
* [Search](https://docs.wagtail.org/en/7.1/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/7.1/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/7.1/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/7.1/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/7.1/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/7.1/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/7.1/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/7.1/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/7.1/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/7.1/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/7.1/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/7.1/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/7.1/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/7.1/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/7.1/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/7.1/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/7.1/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/7.1/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/7.1/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/7.1/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/7.1/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/7.1/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/7.1/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/7.1/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/7.1/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/7.1/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/7.1/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/7.1/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/7.1/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/7.1/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/7.1/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/7.1/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/7.1/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/7.1/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/7.1/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/7.1/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/7.1/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/7.1/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/7.1/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/7.1/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/7.1/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/7.1/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/7.1/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/7.1/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/7.1/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/7.1/reference/index.html)
* [Pages](https://docs.wagtail.org/en/7.1/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/7.1/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/7.1/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/7.1/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/7.1/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/7.1/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/7.1/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/7.1/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/7.1/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/7.1/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/7.1/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/7.1/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/7.1/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/7.1/deployment/index.html)
* [Support](https://docs.wagtail.org/en/7.1/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/7.1/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/7.1/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/7.1/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/7.1/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/7.1/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/7.1/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/7.1/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/7.1/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/7.1/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/7.1/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/7.1/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/7.1/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/7.1/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/7.1/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/7.1/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/7.1/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/7.1/releases/release_process.html)
* [Wagtail 7.1.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/7.1/releases/7.1.3.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/7.1/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/7.1/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/7.1/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/7.1/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/7.1/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/7.1/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/7.1/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/7.1/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/7.1/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/7.1/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/7.1/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/7.1/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/7.1/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/7.1/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/7.1/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/7.1/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/7.1/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/7.1/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/7.1/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/7.1/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/7.1/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/7.1/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/7.1/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/7.1/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/7.1/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/7.1/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/7.1/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/7.1/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/7.1/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/7.1/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/7.1/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/7.1/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/7.1/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/7.1/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/7.1/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/7.1/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/7.1/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/7.1/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/7.1/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/7.1/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/7.1/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/7.1/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/7.1/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/7.1/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/7.1/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/7.1/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/7.1/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/7.1/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/7.1/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/7.1/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/7.1/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/7.1/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/7.1/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/7.1/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/7.1/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/7.1/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/7.1/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/7.1/releases/0.4.html)
---
# Welcome to Wagtail’s documentation — Wagtail Documentation 7.2.1 documentation
* * *
Welcome to Wagtail’s documentation[¶](https://docs.wagtail.org/en/stable-7.2.x/#welcome-to-wagtail-s-documentation "Link to this heading")
===========================================================================================================================================
Wagtail is an open source CMS written in [Python](https://www.python.org/)
and built on the [Django web framework](https://www.djangoproject.com/)
.
Below are some useful links to help you get started with Wagtail.
If you’d like to get a quick feel for Wagtail, try spinning up a [temporary developer environment](https://gitpod.io/#https://github.com/wagtail/wagtail-gitpod)
in your browser (running on Gitpod - here’s [how it works](https://wagtail.org/blog/gitpod/)
).
* **First steps**
* [Getting started](https://docs.wagtail.org/en/stable-7.2.x/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/stable-7.2.x/getting_started/tutorial.html)
* [Demo site](https://docs.wagtail.org/en/stable-7.2.x/getting_started/demo_site.html)
* [Tutorial](https://docs.wagtail.org/en/stable-7.2.x/tutorial/index.html)
* **Using Wagtail**
* [Page models](https://docs.wagtail.org/en/stable-7.2.x/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/stable-7.2.x/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/stable-7.2.x/topics/images.html)
* [Search](https://docs.wagtail.org/en/stable-7.2.x/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/stable-7.2.x/topics/snippets/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/third_party_tutorials.html)
* **For editors**
* [Editors guide (separate site)](https://guide.wagtail.org/)
Index[¶](https://docs.wagtail.org/en/stable-7.2.x/#index "Link to this heading")
---------------------------------------------------------------------------------
* [Getting started](https://docs.wagtail.org/en/stable-7.2.x/getting_started/index.html)
* [Your first Wagtail site](https://docs.wagtail.org/en/stable-7.2.x/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/stable-7.2.x/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/stable-7.2.x/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/stable-7.2.x/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/stable-7.2.x/getting_started/the_zen_of_wagtail.html)
* [Tutorial](https://docs.wagtail.org/en/stable-7.2.x/tutorial/index.html)
* [Customize your home page](https://docs.wagtail.org/en/stable-7.2.x/tutorial/customize_homepage.html)
* [Create a footer for all pages](https://docs.wagtail.org/en/stable-7.2.x/tutorial/create_footer_for_all_pages.html)
* [Create editable footer text with Wagtail Snippets](https://docs.wagtail.org/en/stable-7.2.x/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets)
* [Set up site menu for linking to the homepage and other pages](https://docs.wagtail.org/en/stable-7.2.x/tutorial/set_up_site_menu.html)
* [Style and improve user experience](https://docs.wagtail.org/en/stable-7.2.x/tutorial/style_your_site.html)
* [Create contact page](https://docs.wagtail.org/en/stable-7.2.x/tutorial/create_contact_page.html)
* [Create a portfolio page](https://docs.wagtail.org/en/stable-7.2.x/tutorial/create_portfolio_page.html)
* [Add search to your site](https://docs.wagtail.org/en/stable-7.2.x/tutorial/add_search.html)
* [Deploy your site](https://docs.wagtail.org/en/stable-7.2.x/tutorial/deployment.html)
* [Usage guide](https://docs.wagtail.org/en/stable-7.2.x/topics/index.html)
* [Page models](https://docs.wagtail.org/en/stable-7.2.x/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/stable-7.2.x/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/stable-7.2.x/topics/images.html)
* [Search](https://docs.wagtail.org/en/stable-7.2.x/topics/search/index.html)
* [Snippets](https://docs.wagtail.org/en/stable-7.2.x/topics/snippets/index.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/stable-7.2.x/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/stable-7.2.x/topics/permissions.html)
* [Advanced](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/index.html)
* [Images](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/images/index.html)
* [Documents](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/documents/index.html)
* [Icons](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/icons.html)
* [Embedded content](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/embeds.html)
* [Tagging](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/tags.html)
* [How to add Wagtail into an existing Django project](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/add_to_django_project.html)
* [Performance](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/performance.html)
* [Internationalization](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/i18n.html)
* [Private pages](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/privacy.html)
* [Customizing Wagtail](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/customization/index.html)
* [Third-party tutorials](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/third_party_tutorials.html)
* [Testing your Wagtail site](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/testing.html)
* [Wagtail API](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/api/index.html)
* [How to build a site with AMP support](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/amp.html)
* [Accessibility considerations](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/accessibility_considerations.html)
* [Sustainability considerations](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/sustainability_considerations.html)
* [About StreamField BoundBlocks and values](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/boundblocks_and_values.html)
* [Multi-site, multi-instance and multi-tenancy](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/multi_site_multi_instance_multi_tenancy.html)
* [How to use a redirect with Form builder to prevent double submission](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/formbuilder_routablepage_redirect.html)
* [StreamField migrations](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/streamfield_migrations.html)
* [StreamField validation](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/streamfield_validation.html)
* [Manage the reference index](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/reference_index.html)
* [Headless support](https://docs.wagtail.org/en/stable-7.2.x/advanced_topics/headless.html)
* [Extending](https://docs.wagtail.org/en/stable-7.2.x/extending/index.html)
* [Creating admin views](https://docs.wagtail.org/en/stable-7.2.x/extending/admin_views.html)
* [Generic views](https://docs.wagtail.org/en/stable-7.2.x/extending/generic_views.html)
* [Template components](https://docs.wagtail.org/en/stable-7.2.x/extending/template_components.html)
* [Using forms in admin views](https://docs.wagtail.org/en/stable-7.2.x/extending/forms.html)
* [Adding reports](https://docs.wagtail.org/en/stable-7.2.x/extending/adding_reports.html)
* [Adding new Task types](https://docs.wagtail.org/en/stable-7.2.x/extending/custom_tasks.html)
* [Audit log](https://docs.wagtail.org/en/stable-7.2.x/extending/audit_log.html)
* [Customizing the user account settings form](https://docs.wagtail.org/en/stable-7.2.x/extending/custom_account_settings.html)
* [Customizing group edit/create views](https://docs.wagtail.org/en/stable-7.2.x/extending/customizing_group_views.html)
* [Custom image filters](https://docs.wagtail.org/en/stable-7.2.x/extending/custom_image_filters.html)
* [Extending client-side behavior](https://docs.wagtail.org/en/stable-7.2.x/extending/extending_client_side.html)
* [Accessing the editor programmatically](https://docs.wagtail.org/en/stable-7.2.x/extending/editor_api.html)
* [Accessing panels from client-side code](https://docs.wagtail.org/en/stable-7.2.x/extending/client_side_panels.html)
* [Rich text internals](https://docs.wagtail.org/en/stable-7.2.x/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/stable-7.2.x/extending/extending_draftail.html)
* [Adding custom bulk actions](https://docs.wagtail.org/en/stable-7.2.x/extending/custom_bulk_actions.html)
* [Reference](https://docs.wagtail.org/en/stable-7.2.x/reference/index.html)
* [Pages](https://docs.wagtail.org/en/stable-7.2.x/reference/pages/index.html)
* [StreamField reference](https://docs.wagtail.org/en/stable-7.2.x/reference/streamfield/index.html)
* [Contrib modules](https://docs.wagtail.org/en/stable-7.2.x/reference/contrib/index.html)
* [Admin UI reference](https://docs.wagtail.org/en/stable-7.2.x/reference/ui/index.html)
* [Management commands](https://docs.wagtail.org/en/stable-7.2.x/reference/management_commands.html)
* [Model reference](https://docs.wagtail.org/en/stable-7.2.x/reference/models.html)
* [Hooks](https://docs.wagtail.org/en/stable-7.2.x/reference/hooks.html)
* [Signals](https://docs.wagtail.org/en/stable-7.2.x/reference/signals.html)
* [Settings](https://docs.wagtail.org/en/stable-7.2.x/reference/settings.html)
* [The project template](https://docs.wagtail.org/en/stable-7.2.x/reference/project_template.html)
* [Jinja2 template support](https://docs.wagtail.org/en/stable-7.2.x/reference/jinja2.html)
* [Panels](https://docs.wagtail.org/en/stable-7.2.x/reference/panels.html)
* [Viewsets](https://docs.wagtail.org/en/stable-7.2.x/reference/viewsets.html)
* [Deployment & hosting](https://docs.wagtail.org/en/stable-7.2.x/deployment/index.html)
* [Support](https://docs.wagtail.org/en/stable-7.2.x/support.html)
* [Editor’s guide](https://docs.wagtail.org/en/stable-7.2.x/editor_manual/index.html)
* [Contributing](https://docs.wagtail.org/en/stable-7.2.x/contributing/index.html)
* [Issue tracking](https://docs.wagtail.org/en/stable-7.2.x/contributing/issue_tracking.html)
* [Your first contribution](https://docs.wagtail.org/en/stable-7.2.x/contributing/first_contribution_guide.html)
* [Development](https://docs.wagtail.org/en/stable-7.2.x/contributing/developing.html)
* [UI Styleguide](https://docs.wagtail.org/en/stable-7.2.x/contributing/styleguide.html)
* [General coding guidelines](https://docs.wagtail.org/en/stable-7.2.x/contributing/general_guidelines.html)
* [Python coding guidelines](https://docs.wagtail.org/en/stable-7.2.x/contributing/python_guidelines.html)
* [UI guidelines](https://docs.wagtail.org/en/stable-7.2.x/contributing/ui_guidelines.html)
* [Documentation guidelines](https://docs.wagtail.org/en/stable-7.2.x/contributing/documentation_guidelines.html)
* [Writing documentation](https://docs.wagtail.org/en/stable-7.2.x/contributing/documentation_modes.html)
* [Translations](https://docs.wagtail.org/en/stable-7.2.x/contributing/translations.html)
* [Reporting security issues](https://docs.wagtail.org/en/stable-7.2.x/contributing/security.html)
* [Committing code](https://docs.wagtail.org/en/stable-7.2.x/contributing/committing.html)
* [Release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/index.html)
* [Upgrading Wagtail](https://docs.wagtail.org/en/stable-7.2.x/releases/upgrading.html)
* [Wagtail’s release process](https://docs.wagtail.org/en/stable-7.2.x/releases/release_process.html)
* [Wagtail 7.2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.2.1.html)
* [Wagtail 7.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.2.html)
* [Wagtail 7.1.3 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/stable-7.2.x/releases/7.1.3.html)
* [Wagtail 7.1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.1.2.html)
* [Wagtail 7.1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.1.1.html)
* [Wagtail 7.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.1.html)
* [Wagtail 7.0.4 release notes - IN DEVELOPMENT](https://docs.wagtail.org/en/stable-7.2.x/releases/7.0.4.html)
* [Wagtail 7.0.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.0.3.html)
* [Wagtail 7.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.0.2.html)
* [Wagtail 7.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.0.1.html)
* [Wagtail 7.0 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/7.0.html)
* [Wagtail 6.4.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.4.2.html)
* [Wagtail 6.4.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.4.1.html)
* [Wagtail 6.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.4.html)
* [Wagtail 6.3.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.6.html)
* [Wagtail 6.3.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.5.html)
* [Wagtail 6.3.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.4.html)
* [Wagtail 6.3.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.3.html)
* [Wagtail 6.3.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.2.html)
* [Wagtail 6.3.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.1.html)
* [Wagtail 6.3 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.3.html)
* [Wagtail 6.2.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.2.4.html)
* [Wagtail 6.2.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.2.3.html)
* [Wagtail 6.2.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.2.2.html)
* [Wagtail 6.2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.2.1.html)
* [Wagtail 6.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.2.html)
* [Wagtail 6.1.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.1.3.html)
* [Wagtail 6.1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.1.2.html)
* [Wagtail 6.1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.1.1.html)
* [Wagtail 6.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.1.html)
* [Wagtail 6.0.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.6.html)
* [Wagtail 6.0.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.5.html)
* [Wagtail 6.0.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.4.html)
* [Wagtail 6.0.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.3.html)
* [Wagtail 6.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.2.html)
* [Wagtail 6.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.1.html)
* [Wagtail 6.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/6.0.html)
* [Wagtail 5.2.8 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.8.html)
* [Wagtail 5.2.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.7.html)
* [Wagtail 5.2.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.6.html)
* [Wagtail 5.2.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.5.html)
* [Wagtail 5.2.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.4.html)
* [Wagtail 5.2.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.3.html)
* [Wagtail 5.2.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.2.html)
* [Wagtail 5.2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.1.html)
* [Wagtail 5.2 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.2.html)
* [Wagtail 5.1.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.1.3.html)
* [Wagtail 5.1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.1.2.html)
* [Wagtail 5.1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.1.1.html)
* [Wagtail 5.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.1.html)
* [Wagtail 5.0.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.5.html)
* [Wagtail 5.0.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.4.html)
* [Wagtail 5.0.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.3.html)
* [Wagtail 5.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.2.html)
* [Wagtail 5.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.1.html)
* [Wagtail 5.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/5.0.html)
* [Wagtail 4.2.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.2.4.html)
* [Wagtail 4.2.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.2.3.html)
* [Wagtail 4.2.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.2.2.html)
* [Wagtail 4.2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.2.1.html)
* [Wagtail 4.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.2.html)
* [Wagtail 4.1.9 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.9.html)
* [Wagtail 4.1.8 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.8.html)
* [Wagtail 4.1.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.7.html)
* [Wagtail 4.1.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.6.html)
* [Wagtail 4.1.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.5.html)
* [Wagtail 4.1.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.4.html)
* [Wagtail 4.1.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.3.html)
* [Wagtail 4.1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.2.html)
* [Wagtail 4.1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.1.html)
* [Wagtail 4.1 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.1.html)
* [Wagtail 4.0.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.0.4.html)
* [Wagtail 4.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.0.2.html)
* [Wagtail 4.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.0.1.html)
* [Wagtail 4.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/4.0.html)
* [Wagtail 3.0.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/3.0.3.html)
* [Wagtail 3.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/3.0.2.html)
* [Wagtail 3.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/3.0.1.html)
* [Wagtail 3.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/3.0.html)
* [Wagtail 2.16.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.16.3.html)
* [Wagtail 2.16.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.16.2.html)
* [Wagtail 2.16.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.16.1.html)
* [Wagtail 2.16 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.16.html)
* [Wagtail 2.15.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.6.html)
* [Wagtail 2.15.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.5.html)
* [Wagtail 2.15.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.4.html)
* [Wagtail 2.15.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.3.html)
* [Wagtail 2.15.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.2.html)
* [Wagtail 2.15.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.1.html)
* [Wagtail 2.15 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.15.html)
* [Wagtail 2.14.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.14.2.html)
* [Wagtail 2.14.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.14.1.html)
* [Wagtail 2.14 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.14.html)
* [Wagtail 2.13.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.5.html)
* [Wagtail 2.13.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.4.html)
* [Wagtail 2.13.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.3.html)
* [Wagtail 2.13.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.2.html)
* [Wagtail 2.13.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.1.html)
* [Wagtail 2.13 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.13.html)
* [Wagtail 2.12.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.6.html)
* [Wagtail 2.12.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.5.html)
* [Wagtail 2.12.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.4.html)
* [Wagtail 2.12.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.3.html)
* [Wagtail 2.12.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.2.html)
* [Wagtail 2.12.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.1.html)
* [Wagtail 2.12 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.12.html)
* [Wagtail 2.11.9 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.9.html)
* [Wagtail 2.11.8 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.8.html)
* [Wagtail 2.11.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.7.html)
* [Wagtail 2.11.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.6.html)
* [Wagtail 2.11.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.5.html)
* [Wagtail 2.11.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.4.html)
* [Wagtail 2.11.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.3.html)
* [Wagtail 2.11.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.2.html)
* [Wagtail 2.11.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.1.html)
* [Wagtail 2.11 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.11.html)
* [Wagtail 2.10.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.10.2.html)
* [Wagtail 2.10.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.10.1.html)
* [Wagtail 2.10 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.10.html)
* [Wagtail 2.9.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.9.3.html)
* [Wagtail 2.9.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.9.2.html)
* [Wagtail 2.9.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.9.1.html)
* [Wagtail 2.9 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.9.html)
* [Wagtail 2.8.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.8.2.html)
* [Wagtail 2.8.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.8.1.html)
* [Wagtail 2.8 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.8.html)
* [Wagtail 2.7.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.7.4.html)
* [Wagtail 2.7.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.7.3.html)
* [Wagtail 2.7.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.7.2.html)
* [Wagtail 2.7.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.7.1.html)
* [Wagtail 2.7 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.7.html)
* [Wagtail 2.6.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.6.3.html)
* [Wagtail 2.6.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.6.2.html)
* [Wagtail 2.6.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.6.1.html)
* [Wagtail 2.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.6.html)
* [Wagtail 2.5.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.5.2.html)
* [Wagtail 2.5.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.5.1.html)
* [Wagtail 2.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.5.html)
* [Wagtail 2.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.4.html)
* [Wagtail 2.3 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.3.html)
* [Wagtail 2.2.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.2.2.html)
* [Wagtail 2.2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.2.1.html)
* [Wagtail 2.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.2.html)
* [Wagtail 2.1.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.1.3.html)
* [Wagtail 2.1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.1.2.html)
* [Wagtail 2.1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.1.1.html)
* [Wagtail 2.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.1.html)
* [Wagtail 2.0.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.0.2.html)
* [Wagtail 2.0.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.0.1.html)
* [Wagtail 2.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/2.0.html)
* [Wagtail 1.13.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.13.4.html)
* [Wagtail 1.13.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.13.3.html)
* [Wagtail 1.13.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.13.2.html)
* [Wagtail 1.13.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.13.1.html)
* [Wagtail 1.13 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.13.html)
* [Wagtail 1.12.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.6.html)
* [Wagtail 1.12.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.5.html)
* [Wagtail 1.12.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.4.html)
* [Wagtail 1.12.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.3.html)
* [Wagtail 1.12.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.2.html)
* [Wagtail 1.12.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.1.html)
* [Wagtail 1.12 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.12.html)
* [Wagtail 1.11.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.11.1.html)
* [Wagtail 1.11 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.11.html)
* [Wagtail 1.10.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.10.1.html)
* [Wagtail 1.10 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.10.html)
* [Wagtail 1.9.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.9.1.html)
* [Wagtail 1.9 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.9.html)
* [Wagtail 1.8.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.8.2.html)
* [Wagtail 1.8.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.8.1.html)
* [Wagtail 1.8 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.8.html)
* [Wagtail 1.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.7.html)
* [Wagtail 1.6.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.6.3.html)
* [Wagtail 1.6.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.6.2.html)
* [Wagtail 1.6.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.6.1.html)
* [Wagtail 1.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.6.html)
* [Wagtail 1.5.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.5.3.html)
* [Wagtail 1.5.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.5.2.html)
* [Wagtail 1.5.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.5.1.html)
* [Wagtail 1.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.5.html)
* [Wagtail 1.4.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.6.html)
* [Wagtail 1.4.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.5.html)
* [Wagtail 1.4.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.4.html)
* [Wagtail 1.4.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.3.html)
* [Wagtail 1.4.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.2.html)
* [Wagtail 1.4.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.1.html)
* [Wagtail 1.4 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.4.html)
* [Wagtail 1.3.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.3.1.html)
* [Wagtail 1.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.3.html)
* [Wagtail 1.2 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.2.html)
* [Wagtail 1.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.1.html)
* [Wagtail 1.0 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/1.0.html)
* [Wagtail 0.8.10 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.10.html)
* [Wagtail 0.8.8 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.8.html)
* [Wagtail 0.8.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.7.html)
* [Wagtail 0.8.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.6.html)
* [Wagtail 0.8.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.5.html)
* [Wagtail 0.8.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.4.html)
* [Wagtail 0.8.3 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.3.html)
* [Wagtail 0.8.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.1.html)
* [Wagtail 0.8 (LTS) release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.8.html)
* [Wagtail 0.7 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.7.html)
* [Wagtail 0.6 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.6.html)
* [Wagtail 0.5 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.5.html)
* [Wagtail 0.4.1 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.4.1.html)
* [Wagtail 0.4 release notes](https://docs.wagtail.org/en/stable-7.2.x/releases/0.4.html)
---
# Getting started — Wagtail Documentation 7.2.1 documentation
* * *
Getting started[¶](https://docs.wagtail.org/en/v7.2.1/getting_started/index.html#getting-started "Link to this heading")
=========================================================================================================================
* [Your first Wagtail site](https://docs.wagtail.org/en/v7.2.1/getting_started/tutorial.html)
* [Quick install](https://docs.wagtail.org/en/v7.2.1/getting_started/quick_install.html)
* [Demo site](https://docs.wagtail.org/en/v7.2.1/getting_started/demo_site.html)
* [Integrating Wagtail into a Django project](https://docs.wagtail.org/en/v7.2.1/getting_started/integrating_into_django.html)
* [The Zen of Wagtail](https://docs.wagtail.org/en/v7.2.1/getting_started/the_zen_of_wagtail.html)
Wagtail is an open-source content management system (CMS) that’s built on [Django](https://www.djangoproject.com/)
, a popular Python web framework. It has gained popularity among developers and content editors for its powerful features and intuitive interface, providing a streamlined editing experience. Wagtail offers a comprehensive toolkit for content creation and management, including a rich text editor with formatting options, image and document management, version control, workflows, and content scheduling.
Developers appreciate Wagtail’s highly customizable and modular architecture, which includes built-in support for Django’s app structure. This allows them to easily create and integrate custom functionality, making Wagtail suitable for projects of any size. Wagtail excels in handling complex content structures, offering features like hierarchical page organization, robust search capabilities, and content localization.
Wagtail stands out as the preferred choice for tens of thousands of organizations globally, including renowned names like Google, the National Aeronautics and Space Administration (NASA), and the British National Health Service (NHS). It has proven scalability and is capable of handling high volumes of traffic from millions of visitors every month. What sets Wagtail apart is its ability to extend beyond traditional content management, providing seamless integration with data tools and rich data visualizations.
For more information about Wagtail and the guiding principles for building websites with it, read [The Zen of Wagtail](https://docs.wagtail.org/en/v7.2.1/getting_started/the_zen_of_wagtail.html)
.
---
# Set up site menu for linking to the homepage and other pages — Wagtail Documentation 6.3.5 documentation
* * *
Set up site menu for linking to the homepage and other pages[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/set_up_site_menu.html#set-up-site-menu-for-linking-to-the-homepage-and-other-pages "Link to this heading")
=======================================================================================================================================================================================================================
This section of the tutorial will teach you how to create a site menu to link to your homepage and other pages as you add them. The site menu will appear across all pages of your portfolio website, just like your footer.
Start by creating a template tag in your `base/templatetags/navigation_tags.py` file:
from django import template
\# import site:
from wagtail.models import Site
from base.models import FooterText
register \= template.Library()
\# ... keep the definition of get\_footer\_text and add the get\_site\_root template tag:
@register.simple\_tag(takes\_context\=True)
def get\_site\_root(context):
return Site.find\_for\_request(context\["request"\]).root\_page
In the preceding code, you created the `get_site_root` template tag to retrieve the root page of your site, which is your `HomePage` in this case.
Now, create `mysite/templates/includes/header.html` file and add the following to it:
{% load wagtailcore\_tags navigation\_tags %}
In the preceding template you loaded the `wagtailcore_tags` and `navigation_tags`. With these tags, you can generate navigation menus for your Wagtail project.
`{% get_site_root as site_root %}` retrieves your HomePage and assigns it to the variable `site_root`.
`Home |` creates a link to your HomePage by using the pageurl template tag with `site_root` as an argument. It generates a link to your HomePage, with the label **Home**, followed by a pipe symbol `|`, to separate the menu items.
`{% for menuitem in site_root.get_children.live.in_menu %}` is a loop that iterates through the child pages of your HomePage that are live and included in the menu.
Finally, add your `header` template to your `base` template by modifying your `mysite/templates/base.html` file:
{% wagtailuserbar %}
{# Add your header template to your base template: #}
{% include "includes/header.html" %}
{% block content %}{% endblock %}
{% include "includes/footer.html" %}
{# Global javascript #}
{% block extra\_js %}
{# Override this in templates to add extra javascript #}
{% endblock %}
Now, if you restart your server and reload your homepage, you’ll see your site menu with a link to your homepage labeled as **Home**.
Add pages to your site menu[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/set_up_site_menu.html#add-pages-to-your-site-menu "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------
You can add any top-level, like your Home page, Blog index page, Portfolio page, and Form page to the site menu by doing the following:
1. Go to your admin interface.
2. Go to any top-level page.
3. Click **Promote**.
4. Check the **Show in menus** checkbox.
In the next section of this tutorial, we’ll show you how to style your site and improve its user experience.
---
# Usage guide — Wagtail Documentation 6.3.5 documentation
* * *
Usage guide[¶](https://docs.wagtail.org/en/v6.3.5/topics/index.html#usage-guide "Link to this heading")
========================================================================================================
* [Page models](https://docs.wagtail.org/en/v6.3.5/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v6.3.5/topics/images.html)
* [Search](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html)
* [Indexing](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html)
* [Searching](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html)
* [Backends](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html)
* [Snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/index.html)
* [Registering snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/registering.html)
* [Rendering snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/rendering.html)
* [Optional features](https://docs.wagtail.org/en/v6.3.5/topics/snippets/features.html)
* [Customizing admin views for snippets](https://docs.wagtail.org/en/v6.3.5/topics/snippets/customizing.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v6.3.5/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v6.3.5/topics/permissions.html)
---
# Style and improve user experience — Wagtail Documentation 6.3.5 documentation
* * *
Style and improve user experience[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/style_your_site.html#style-and-improve-user-experience "Link to this heading")
================================================================================================================================================================
In this tutorial, you’ll add a basic site theme to your portfolio site and improve its user experience.
Add styles[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/style_your_site.html#add-styles "Link to this heading")
------------------------------------------------------------------------------------------------------------------
To style your site, navigate to your `mysite/static/css/mysite.css` file and add the following:
\*,
::before,
::after {
box-sizing: border-box;
}
html {
font-family: \-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif, Apple Color Emoji, "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
body {
min-height: 100vh;
max-width: 800px;
margin: 0 auto;
padding: 10px;
display: grid;
gap: 3vw;
grid-template-rows: min-content 1fr min-content;
}
a {
color: currentColor;
}
footer {
border-top: 2px dotted;
text-align: center;
}
header {
border-bottom: 2px dotted;
}
.template-homepage main {
text-align: center;
}
Now, reload your portfolio site to reflect the styles.
Note
If your webpage’s styles do not update after reloading, then you may need to clear your browser cache.
Improve user experience[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/style_your_site.html#improve-user-experience "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------
There are several ways to improve the user experience of your portfolio site.
Start by modifying your `mysite/templates/base.html` file as follows:
{# Remove wagtailuserbar: #}
{% load static wagtailcore\_tags %}
{% block title %}
{% if page.seo\_title %}{{ page.seo\_title }}{% else %}{{ page.title }}{% endif %}
{% endblock %}
{% block title\_suffix %}
{% wagtail\_site as current\_site %}
{% if current\_site and current\_site.site\_name %}\- {{ current\_site.site\_name }}{% endif %}
{% endblock %}
{% if page.search\_description %}
{% endif %}
{# Force all links in the live preview panel to be opened in a new tab #}
{% if request.in\_preview\_panel %}
{% endif %}
{# Add supported color schemes: #}
{# Add a favicon with inline SVG: #}
🍩 "/>
{# Global stylesheets #}
{% block extra\_css %}
{# Override this in templates to add extra stylesheets #}
{% endblock %}
{# Remove wagtailuserbar: #}
{% include "includes/header.html" %}
{# Wrap your block content within a HTML5 tag: #}
{% block content %}{% endblock %}
{% include "includes/footer.html" %}
{# Global javascript #}
{% block extra\_js %}
{# Override this in templates to add extra javascript #}
{% endblock %}
In the preceding template, you made the following modifications:
1. You removed `wagtailuserbar` from your base template. You’ll add the `wagtailuserbar` to your `header` template later in the tutorial. This change improves the user experience for keyboard and screen reader users.
2. You Added ` ` to inform the browser about the supported color schemes for your site. This makes your site adapt to both dark and light themes.
3. You used the ` ` tag to add a favicon to your portfolio site using inline SVG.
4. You wrapped the `{% block content %}` and `{% endblock %}` tags with a `` HTML5 tag. The `` tag is a semantic HTML5 tag used to indicate the main content of a webpage.
Also, you should dynamically get your HomePage’s title to use in your site menu instead of hardcoding it in your template. You should include the child pages of the Home page in your site menu if they have their ‘Show in menus’ option checked. Finally, you want to ensure that you add the `wagtailuserbar` that you removed from your `base` template to your `header` template. This will improve users’ experience for keyboard and screen reader users.
To make the improvements mentioned in the preceding paragraph, modify your `mysite/templates/includes/header.html` file as follows:
{# Load wagtailuserbar: #}
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
Another way you can improve user experience is by adding a skip link for keyboard users. A skip link is a web accessibility feature that enhances the browsing experience for keyboard navigators and screen readers. The skip link will let your users jump directly to the main content.
To add a skip-link, add the following styles to your `mysite/static/css/mysite.css` file:
.skip-link {
position: absolute;
top: \-30px;
}
.skip-link:focus-visible {
top: 5px;
}
After adding the styles, go to your `mysite/templates/base.html` file and add a unique identifier:
{% include "includes/header.html" %}
{# Add a unique identifier: #}
{% block content %}{% endblock %}
Finally, go to your `mysite/templates/includes/header.html` file and modify it as follows:
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
In the preceding template, you added an ` (anchor)` element to create a _Skip to content_ link. You set the `href` attribute to `#main`. The internal anchor links to your base template’s `main` element.
Well done! Now, you know how to style a Wagtail site. The next section will teach you how to create a contact page for your portfolio site.
---
# How to use images in templates — Wagtail Documentation 6.3.5 documentation
* * *
How to use images in templates[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#how-to-use-images-in-templates "Link to this heading")
===============================================================================================================================================
The `image` tag inserts an XHTML-compatible `img` element into the page, setting its `src`, `width`, `height`, and `alt`. See also [More control over the img tag](https://docs.wagtail.org/en/v6.3.5/topics/images.html#image-tag-alt)
.
The syntax for the tag is thus:
{% image \[image\] \[resize-rule\] %}
**Both the image and resize rule must be passed to the template tag.**
For example:
{% load wagtailimages\_tags %}
...
{% image page.photo width-400 %}
{% image page.photo fill-80x80 %}
In the above syntax example `[image]` is the Django object referring to the image. If your page model defined a field called “photo” then `[image]` would probably be `page.photo`. The `[resize-rule]` defines how the image is to be resized when inserted into the page. Various resizing methods are supported, to cater to different use cases (for example lead images that span the whole width of the page, or thumbnails to be cropped to a fixed size).
Note that a space separates `[image]` and `[resize-rule]`, but the resize rule must not contain spaces. The width is always specified before the height. Resized images will maintain their original aspect ratio unless the `fill` rule is used, which may result in some pixels being cropped.
Multiple formats[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#multiple-formats "Link to this heading")
-------------------------------------------------------------------------------------------------------------------
To render an image in multiple formats, you can use the `picture` tag:
{% picture page.photo format-{avif,webp,jpeg} width-400 %}
Compared to `image`, this will render a `` element with a fallback ` ` within and one `` element per extra format. The browser [picks the first format it supports](https://web.dev/learn/design/picture-element/#source)
, or defaults to the fallback ` ` element. For example, the above will render HTML similar to:
In this case, if the browser supports the [AVIF](https://en.wikipedia.org/wiki/AVIF)
format it will load the AVIF file. Otherwise, if the browser supports the [WebP](https://en.wikipedia.org/wiki/WebP)
format, it will try to load the WebP file. If none of those formats are supported, the browser will load the JPEG image. The order of the provided formats isn’t configurable – Wagtail will always output source elements in the following order: AVIF, WebP, JPEG, PNG, and GIF. This ensures the most optimized format is provided whenever possible.
The `picture` tag can also be used with multiple image resize rules to generate responsive images.
Responsive images[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#responsive-images "Link to this heading")
---------------------------------------------------------------------------------------------------------------------
Wagtail provides `picture` and `srcset_image` template tags which can generate image elements with `srcset` attributes. This allows browsers to select the most appropriate image file to load based on [responsive image rules](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)
.
The syntax for `srcset_image` is the same as `image`, with two exceptions:
{% srcset\_image \[image\] \[resize-rule-with-brace-expansion\] sizes\="\[my source sizes\]" %}
* The resize rule should be provided with multiple sizes in a brace-expansion pattern, like `width-{200,400}`. This will generate the `srcset` attribute, with as many URLs as there are sizes defined in the resize rule, and one width descriptor per URL. The first provided size will always be used as the `src` attribute, and define the image’s width and height attributes, as a fallback.
* The [`sizes`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#sizes)
attribute is essential. This tells the browser how large the image will be displayed on the page, so that it can select the most appropriate image to load.
Here is an example of `srcset_image` in action, generating a `srcset` attribute:
{% srcset\_image page.photo width-{400,800} sizes\="(max-width: 600px) 400px, 80vw" %}
This outputs:
Here is an example with the `picture` tag:
{% picture page.photo format-{avif,webp,jpeg} width-{400,800} sizes\="80vw" %}
This outputs:
Available resizing methods[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#available-resizing-methods "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------
The available resizing methods are as follows:
### `max`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#max "Link to this heading")
(takes two dimensions)
{% image page.photo max-1000x500 %}
Fit **within** the given dimensions.
The longest edge will be reduced to the matching dimension specified. For example, a portrait image of width 1000 and height 2000, treated with the `max-1000x500` rule (a landscape layout) would result in the image being shrunk so the _height_ was 500 pixels and the width was 250.

Example: The image will keep its proportions but fit within the max (green line) dimensions provided.
### `min`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#min "Link to this heading")
(takes two dimensions)
{% image page.photo min-500x200 %}
**Cover** the given dimensions.
This may result in an image slightly **larger** than the dimensions you specify. A square image of width 2000 and height 2000, treated with the `min-500x200` rule would have its height and width changed to 500, that is matching the _width_ of the resize-rule, but greater than the height.

Example: The image will keep its proportions while filling at least the min (green line) dimensions provided.
### `width`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#width "Link to this heading")
(takes one dimension)
{% image page.photo width-640 %}
Reduces the width of the image to the dimension specified.
### `height`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#height "Link to this heading")
(takes one dimension)
{% image page.photo height-480 %}
Reduces the height of the image to the dimension specified.
### `scale`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#scale "Link to this heading")
(takes a percentage)
{% image page.photo scale-50 %}
Resize the image to the percentage specified.
### `fill`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#fill "Link to this heading")
(takes two dimensions and an optional `-c` parameter)
{% image page.photo fill-200x200 %}
Resize and **crop** to fill the **exact** dimensions specified.
This can be particularly useful for websites requiring square thumbnails of arbitrary images. For example, a landscape image of width 2000 and height 1000 treated with the `fill-200x200` rule would have its height reduced to 200, then its width (ordinarily 400) cropped to 200.
This resize-rule will crop to the image’s focal point if it has been set. If not, it will crop to the center of the image.

Example: The image is scaled and also cropped (red line) to fit as much of the image as possible within the provided dimensions.
**On images that won’t upscale**
It’s possible to request an image with `fill` dimensions that the image can’t support without upscaling. For example an image of width 400 and height 200 requested with `fill-400x400`. In this situation the _ratio of the requested fill_ will be matched, but the dimension will not. So that example 400x200 image (a 2:1 ratio) could become 200x200 (a 1:1 ratio, matching the resize-rule).
**Cropping closer to the focal point**
By default, Wagtail will only crop enough to change the aspect ratio of the image to match the ratio in the resize-rule.
In some cases (for example thumbnails), it may be preferable to crop closer to the focal point, so that the subject of the image is more prominent.
You can do this by appending `-c` at the end of the resize-rule. For example, if you would like the image to be cropped as closely as possible to its focal point, add `-c100`:
{% image page.photo fill-200x200-c100 %}
This will crop the image as much as it can, without cropping into the focal point.
If you find that `-c100` is too close, you can try `-c75` or `-c50`. Any whole number from 0 to 100 is accepted.

Example: The focal point is set off center so the image is scaled and also cropped like fill, however the center point of the crop is positioned closer to the focal point.

Example: With the `-c75` set, the final crop will be closer to the focal point.
### `original`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#original "Link to this heading")
(takes no dimensions)
{% image page.photo original %}
Renders the image at its original size.
Note
Wagtail does not allow deforming or stretching images. Image dimension ratios will always be kept. Wagtail also _does not support upscaling_. Small images forced to appear at larger sizes will “max out” at their native dimensions.
More control over the `img` tag[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#more-control-over-the-img-tag "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------
Wagtail provides two shortcuts to give greater control over the `img` element:
### 1\. Adding attributes to the {% image %} tag[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#adding-attributes-to-the-image-tag "Link to this heading")
Extra attributes can be specified with the syntax `attribute="value"`:
{% image page.photo width-400 class\="foo" id\="bar" %}
You can set a more relevant `alt` attribute this way, overriding the one automatically generated from the title of the image. The `src`, `width`, and `height` attributes can also be overridden, if necessary.
You can also add default attributes to all images (a default class or data attribute for example) - see [Adding default attributes to all images](https://docs.wagtail.org/en/v6.3.5/topics/images.html#adding-default-attributes-to-images)
.
### 2\. Generating the image “as foo” to access individual properties[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#generating-the-image-as-foo-to-access-individual-properties "Link to this heading")
Wagtail can assign the image data to another variable using Django’s `as` syntax, to access the underlying image Rendition (`tmp_photo`):
{% image page.photo width-400 as tmp\_photo %}
This is also possible with the `srcset_image` tag, to retrieve multiple size renditions:
{% srcset\_image page.photo width-{200,400} as tmp\_photo %}
And with the picture tag, to retrieve multiple formats:
{% picture page.photo format-{avif,jpeg} as tmp\_photo %}
{{ tmp\_photo.formats.avif.0.url }}
{{ tmp\_photo.formats.jpeg.0.url }}
Note
The image property used for the `src` attribute is `image.url`, not `image.src`.
Renditions contain the information specific to the way you’ve requested to format the image using the resize-rule, dimensions, and source URL. The following properties are available:
### `url`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#url "Link to this heading")
URL to the resized version of the image. This may be a local URL (such as `/static/images/example.jpg`) or a full URL (such as `https://assets.example.com/images/example.jpg`), depending on how static files are configured.
### `width`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#id4 "Link to this heading")
Image width after resizing.
### `height`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#id5 "Link to this heading")
Image height after resizing.
### `alt`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#alt "Link to this heading")
Alternative text for the image, contextual alt text or `default_alt_text` if not.
### `attrs`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#attrs "Link to this heading")
A shorthand for outputting the attributes `src`, `width`, `height`, and `alt` in one go:
### `full_url`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#full-url "Link to this heading")
Same as `url`, but always returns a full absolute URL. This requires `WAGTAILADMIN_BASE_URL` to be set in the project settings.
This is useful for images that will be re-used outside of the current site, such as social share images:
If your site defines a custom image model using `AbstractImage`, any additional fields you add to an image (such as a copyright holder) is **not** included in the rendition.
Therefore, if you’d added the field `author` to your AbstractImage in the above example, you’d access it using `{{ page.photo.author }}` rather than `{{ tmp_photo.author }}`.
(Due to the links in the database between renditions and their parent image, you _could_ access it as `{{ tmp_photo.image.author }}`, but that has reduced readability.)
Adding default attributes to all images[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#adding-default-attributes-to-all-images "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
We can configure the `wagtail.images` application to specify additional attributes to add to images. This is done by setting up a custom `AppConfig` class within your project folder (i.e. the package containing the top-level settings and urls modules).
To do this, create or update your existing `apps.py` file with the following:
from wagtail.images.apps import WagtailImagesAppConfig
class CustomImagesAppConfig(WagtailImagesAppConfig):
default\_attrs \= {"decoding": "async", "loading": "lazy"}
Then, replace `wagtail.images` in `settings.INSTALLED_APPS` with the path to `CustomUsersAppConfig`:
INSTALLED\_APPS \= \[\
...,\
"myapplication.apps.CustomImagesAppConfig",\
\# "wagtail.images",\
...,\
\]
Now, images created with `{% image %}` will additionally have `decoding="async" loading="lazy"` attributes. This also goes for images added to Rich Text and `ImageBlock` blocks.
Alternative HTML tags[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#alternative-html-tags "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------
The `as` keyword allows alternative HTML image tags (such as `` or ``) to be used. For example, to use the `` tag:
{% image page.photo width-800 as wide\_photo %}
{% image page.photo width-400 %}
And to use the `` tag (based on the [Mountains example](https://amp.dev/documentation/components/amp-img#specify-a-fallback-image)
from the AMP docs):
{% image image width-550 format-webp as webp\_image %}
{% image image width-550 format-jpeg as jpeg\_image %}
Images embedded in rich text[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#images-embedded-in-rich-text "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------
The information above relates to images defined via image-specific fields in your model. However, images can also be embedded arbitrarily in Rich Text fields by the page editor (see [Rich Text (HTML)](https://docs.wagtail.org/en/v6.3.5/advanced_topics/customisation/page_editing_interface.html#rich-text-field)
.
Images embedded in Rich Text fields can’t be controlled by the template developer as easily. There are no image objects to work with, so the `{% image %}` template tag can’t be used. Instead, editors can choose from one of several image “Formats” at the point of inserting images into their text.
Wagtail comes with three pre-defined image formats, but more can be defined in Python by the developer. These formats are:
### `Full width`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#full-width "Link to this heading")
Creates an image rendition using `width-800`, giving the ` ` tag the CSS class `full-width`.
### `Left-aligned`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#left-aligned "Link to this heading")
Creates an image rendition using `width-500`, giving the ` ` tag the CSS class `left`.
### `Right-aligned`[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#right-aligned "Link to this heading")
Creates an image rendition using `width-500`, giving the ` ` tag the CSS class `right`.
Note
The CSS classes added to images do **not** come with any accompanying stylesheets or inline styles. For example, the `left` class will do nothing, by default. The developer is expected to add these classes to their front-end CSS files, to define exactly what they want `left`, `right` or `full-width` to mean.
For more information about image formats, including creating your own, see [Image Formats in the Rich Text Editor](https://docs.wagtail.org/en/v6.3.5/advanced_topics/customisation/page_editing_interface.html#rich-text-image-formats)
.
Output image format[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#output-image-format "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------
Wagtail may automatically change the format of some images when they are resized:
* PNG and JPEG images don’t change the format
* GIF images without animation are converted to PNGs
* AVIF images are converted to PNGs
* BMP images are converted to PNGs
* WebP images are converted to PNGs
It is also possible to override the output format on a per-tag basis by using the `format` filter after the resize rule.
For example, to make the tag always convert the image to a JPEG, use `format-jpeg`:
{% image page.photo width-400 format-jpeg %}
You may also use `format-png`, `format-gif` or `format-ico`.
### Lossless AVIF and WebP[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#lossless-avif-and-webp "Link to this heading")
You can encode the image into lossless AVIF or WebP format by using `format-avif-lossless` or `format-webp-lossless` filter respectively:
{% image page.photo width-400 format-avif-lossless %}
{% image page.photo width-400 format-webp-lossless %}
### Favicon generation[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#favicon-generation "Link to this heading")
You can save images as a `.ico` file using `format-ico`, which is especially useful when managing a site’s favicon through the Admin.
{% image favicon\_image format-ico as favicon\_image\_formatted %}
Background color[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#background-color "Link to this heading")
-------------------------------------------------------------------------------------------------------------------
The PNG and GIF image formats both support transparency, but if you want to convert images to JPEG format, the transparency will need to be replaced with a solid background color.
By default, Wagtail will set the background to white. But if a white background doesn’t fit your design, you can specify a color using the `bgcolor` filter.
This filter takes a single argument, which is a CSS 3 or 6-digit hex code representing the color you would like to use:
{# Sets the image background to black #}
{% image page.photo width-400 bgcolor-000 format-jpeg %}
Image quality[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#image-quality "Link to this heading")
-------------------------------------------------------------------------------------------------------------
Wagtail’s JPEG image quality settings default to 85 (which is quite high). AVIF and WebP default to 80. This can be changed either globally or on a per-tag basis.
### Changing globally[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#changing-globally "Link to this heading")
Use the `WAGTAILIMAGES_AVIF_QUALITY`, `WAGTAILIMAGES_JPEG_QUALITY` and `WAGTAILIMAGES_WEBP_QUALITY` settings to change the global defaults of AVIF, JPEG, and WebP quality:
\# settings.py
\# Make low-quality but small images
WAGTAILIMAGES\_AVIF\_QUALITY \= 50
WAGTAILIMAGES\_JPEG\_QUALITY \= 40
WAGTAILIMAGES\_WEBP\_QUALITY \= 45
Note that this won’t affect any previously generated images so you may want to delete all renditions so they can regenerate with the new setting. This can be done from the Django shell:
\# Replace this with your custom rendition model if you use one
\>>> from wagtail.images.models import Rendition
\>>> Rendition.objects.all().delete()
You can also directly use the image management command from the console for regenerating the renditions:
./manage.py wagtail\_update\_image\_renditions \--purge
You can read more about this command from [wagtail\_update\_image\_renditions](https://docs.wagtail.org/en/v6.3.5/reference/management_commands.html#wagtail-update-image-renditions)
### Changing per-tag[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#changing-per-tag "Link to this heading")
It’s also possible to have different AVIF, JPEG, and WebP qualities on individual tags by using `avifquality`, `jpegquality`, and `webpquality` filters. This will always override the default setting:
{% image page.photo\_avif width-400 avifquality-40 %}
{% image page.photo\_jpeg width-400 jpegquality-40 %}
{% image page.photo\_webp width-400 webpquality-50 %}
Note that this will not affect PNG or GIF files. If you want all images to be low quality, you can use this filter with `format-avif`, `format-jpeg`, or `format-webp` (which forces all images to output in AVIF, JPEG, or WebP format):
{% image page.photo width-400 format-avif avifquality-40 %}
{% image page.photo width-400 format-jpeg jpegquality-40 %}
{% image page.photo width-400 format-webp webpquality-50 %}
Generating image renditions in Python[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#generating-image-renditions-in-python "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------------
All of the image transformations mentioned above can also be used directly in Python code. See [Generating renditions in Python](https://docs.wagtail.org/en/v6.3.5/advanced_topics/images/renditions.html#image-renditions)
.
SVG images[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#svg-images "Link to this heading")
-------------------------------------------------------------------------------------------------------
Wagtail supports the use of Scalable Vector Graphics alongside raster images. To allow Wagtail users to upload and use SVG images, add “svg” to the list of allowed image extensions by configuring `WAGTAILIMAGES_EXTENSIONS`:
WAGTAILIMAGES\_EXTENSIONS \= \["gif", "jpg", "jpeg", "png", "webp", "svg"\]
SVG images can be included in templates via the `image` template tag, as with raster images. However, operations that require SVG images to be rasterized are not currently supported. This includes direct format conversion, e.g. `format-webp`, and `bgcolor` directives. Crop and resize operations do not require rasterization, so may be used freely (see [Available resizing methods](https://docs.wagtail.org/en/v6.3.5/topics/images.html#available-resizing-methods)
).
The `image` tag’s `preserve-svg` positional argument may be used to restrict the operations applied to an SVG image to only those that do not require rasterization. This may be useful in situations where a single `image` tag declaration is applied to multiple source images, for example:
{% for picture in pictures %}
{% image picture fill-400x400 format-webp preserve-svg %}
{% endfor %}
In this example, any of the image objects that are SVGs will only have the `fill-400x400` operation applied to them, while raster images will have both the `fill-400x400` and `format-webp` operations applied. If the `preserve-svg` argument is not used in this example, an error will be raised when attempting to convert SVG images to webp, as this is not possible without a rasterization library.
### Security considerations[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#security-considerations "Link to this heading")
Wagtail’s underlying image library, Willow, is configured to mitigate known XML parser exploits (e.g. billion laughs, quadratic blowup) by rejecting suspicious files.
When including SVG images in templates via the `image` tag, they will be rendered as HTML `img` elements. In this case, `script` elements in SVGs will not be executed, mitigating XSS attacks.
If a user navigates directly to the URL of the SVG file embedded scripts may be executed, depending on server/storage configuration. This can be mitigated by setting appropriate Content-Security-Policy or Content-Disposition headers for SVG responses:
* setting `Content-Security-Policy: default-src 'none'` will prevent scripts from being loaded or executed (as well as other resources - a more relaxed policy of `script-src 'none'` may also be suitable); and
* setting `Content-Disposition: attachment` will cause the file to be downloaded rather than being immediately rendered in the browser, meaning scripts will not be executed (note: this will not prevent scripts from running if a user downloads and subsequently opens the SVG file in their browser).
The steps required to set headers for specific responses will vary, depending on how your Wagtail application is deployed.
HEIC / HEIF images[¶](https://docs.wagtail.org/en/v6.3.5/topics/images.html#heic-heif-images "Link to this heading")
---------------------------------------------------------------------------------------------------------------------
HEIC / HEIF images are not widely supported on the web, but may be encountered when exporting images from Apple devices. Wagtail does not allow upload of these by default, but this can be enabled by adding `"heic"` to `WAGTAILIMAGES_EXTENSIONS`:
WAGTAILIMAGES\_EXTENSIONS \= \["gif", "jpg", "jpeg", "png", "webp", "heic"\]
Note that to upload HEIC / HEIF images, the file extension must be `.heic` and not `.heif` or other extensions.
These images will be automatically converted to JPEG format when rendered (see [Customising output formats](https://docs.wagtail.org/en/v6.3.5/advanced_topics/images/image_file_formats.html#customising-output-formats)
).
---
# Search — Wagtail Documentation 6.3.5 documentation
* * *
Search[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html#search "Link to this heading")
=====================================================================================================
Wagtail provides a comprehensive and extensible search interface. In addition, it provides ways to promote search results through “Editor’s Picks”. Wagtail also collects simple statistics on queries made through the search interface.
* [Indexing](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html)
* [Updating the index](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#updating-the-index)
* [Indexing extra fields](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing-extra-fields)
* [Indexing custom models](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing-custom-models)
* [Searching](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html)
* [Searching QuerySets](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#searching-querysets)
* [Changing search behavior](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#changing-search-behavior)
* [An example page search view](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#an-example-page-search-view)
* [Promoted search results](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#promoted-search-results)
* [Backends](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html)
* [`AUTO_UPDATE`](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#auto-update)
* [`ATOMIC_REBUILD`](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#atomic-rebuild)
* [`BACKEND`](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#backend)
* [Rolling Your Own](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#rolling-your-own)
Indexing[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html#indexing "Link to this heading")
---------------------------------------------------------------------------------------------------------
To make objects searchable, they must first be added to the search index. This involves configuring the models and fields that you would like to index (which is done for you for Pages, Images and Documents), and then actually inserting them into the index.
See [Updating the index](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-update)
for information on how to keep the objects in your search index in sync with the objects in your database.
If you have created some extra fields in a subclass of `Page` or `Image`, you may want to add these new fields to the search index, so a user’s search query can match the Page or Image’s extra content. See [Indexing extra fields](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-fields)
.
If you have a custom model which doesn’t derive from `Page` or `Image` that you would like to make searchable, see [Indexing custom models](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-models)
.
Searching[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html#searching "Link to this heading")
-----------------------------------------------------------------------------------------------------------
Wagtail provides an API for performing search queries on your models. You can also perform search queries on Django QuerySets.
See [Searching](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#wagtailsearch-searching)
.
Backends[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/index.html#backends "Link to this heading")
---------------------------------------------------------------------------------------------------------
Wagtail provides two backends for storing the search index and performing search queries: one using the database’s full-text search capabilities, and another using Elasticsearch. It’s also possible to roll your own search backend.
See [Backends](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#wagtailsearch-backends)
.
---
# Deploy your site — Wagtail Documentation 6.3.5 documentation
* * *
Deploy your site[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/deployment.html#deploy-your-site "Link to this heading")
=========================================================================================================================
So far, you’ve been accessing your site locally. Now, it’s time to deploy it. Deployment makes your site publicly accessible on the Internet by hosting it on a production server.
To deploy your site, you’ll first need to choose a [hosting provider](https://docs.wagtail.org/en/v6.3.5/deployment/index.html#deployment-guide)
, then follow their Wagtail deployment guide.
If you’re unsure, we have a tutorial for using [Fly.io with Backblaze](https://docs.wagtail.org/en/v6.3.5/deployment/flyio.html)
.
* * *
Congratulations! You made it to the end of the tutorial!
Where next[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/deployment.html#where-next "Link to this heading")
-------------------------------------------------------------------------------------------------------------
* Read the Wagtail [topics](https://docs.wagtail.org/en/v6.3.5/topics/index.html)
and [reference](https://docs.wagtail.org/en/v6.3.5/reference/index.html)
documentation
* Learn how to implement [StreamField](https://docs.wagtail.org/en/v6.3.5/topics/streamfield.html)
for freeform page content
* Browse through the [advanced topics](https://docs.wagtail.org/en/v6.3.5/advanced_topics/index.html)
section and read [third-party tutorials](https://docs.wagtail.org/en/v6.3.5/advanced_topics/third_party_tutorials.html)
---
# Add search to your site — Wagtail Documentation 6.3.5 documentation
* * *
Add search to your site[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/add_search.html#add-search-to-your-site "Link to this heading")
=======================================================================================================================================
Using the Wagtail `start` command to start your project gives you a built-in search app. This built-in search app provides a simple search functionality for your site.
However, you can customize your search template to suit your portfolio site. To customize your search template, go to your `search/templates/search.html` file and modify it as follows:
{% extends "base.html" %}
{% load static wagtailcore\_tags %}
{% block body\_class %}template-searchresults{% endblock %}
{% block title %}Search{% endblock %}
{% block content %}
Search
{% if search\_results %}
{# Add this paragraph to display the details of results found: #}
You searched{% if search\_query %} for “{{ search\_query }}”{% endif %}, {{ search\_results.paginator.count }} result{{ search\_results.paginator.count|pluralize }} found.
{# Replace the HTML element with the html element: #}
{% for result in search\_results %}
{% if result.search\_description %}
{{ result.search\_description }}
{% endif %}
{% endfor %}
{# Improve pagination by adding: #}
{% if search\_results.paginator.num\_pages \> 1 %}
Page {{ search\_results.number }} of {{ search\_results.paginator.num\_pages }}, showing {{ search\_results|length }} result{{ search\_results|pluralize }} out of {{ search\_results.paginator.count }}
{% endif %}
{% if search\_results.has\_previous %}
Previous
{% endif %}
{% if search\_results.has\_next %}
Next
{% endif %}
{% elif search\_query %}
No results found
{% endif %}
{% endblock %}
Now, let’s explain the customizations you made in the preceding template:
1. You used `You searched{% if search_query %} for “{{ search_query }}”{% endif %}, {{ search_results.paginator.count }} result{{ search_results.paginator.count|pluralize }} found.
` to display the search query, the number of results found. You also used it to display the plural form of “result” if more than one search result is found.
2. You replaced the `` HTML element with the `` HTML element. The `` HTML element contains a loop iterating through each search result and displaying them as list items. Using `` gives you numbered search results.
3. You improved the pagination in the template. `{% if search_results.paginator.num_pages > 1 %}` checks if there is more than one page of search results. If there is more than one page of search results, it displays the current page number, the total number of pages, the number of results on the current page, and the total number of results. `{% if search_results.has_previous %} and {% if search_results.has_next %}` checks if there are previous and next pages of search results. If they exist, it displays “Previous” and “Next” links with appropriate URLs for pagination.
Now, you want to display your search across your site. One way to do this is to add it to your header. Go to your `mysite/templates/includes/header.html` file and modify it as follows:
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
Well done! You now have a fully deployable portfolio site. The next section of this tutorial will walk you through how to deploy your site.
---
# Indexing — Wagtail Documentation 6.3.5 documentation
* * *
Indexing[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing "Link to this heading")
============================================================================================================
To make a model searchable, you’ll need to add it to the search index. All pages, images, and documents are indexed for you, so you can start searching them right away.
If you have created some extra fields in a subclass of Page or Image, you may want to add these new fields to the search index too so that a user’s search query will match their content. See [Indexing extra fields](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-fields)
for info on how to do this.
If you have a custom model that you would like to make searchable, see [Indexing custom models](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-models)
.
Updating the index[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#updating-the-index "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------
If the search index is kept separate from the database (when using Elasticsearch for example), you need to keep them both in sync. There are two ways to do this: using the search signal handlers, or calling the `update_index` command periodically. For the best speed and reliability, it’s best to use both if possible.
### Signal handlers[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#signal-handlers "Link to this heading")
`wagtailsearch` provides some signal handlers which bind to the save/delete signals of all indexed models. This would automatically add and delete them from all backends you have registered in `WAGTAILSEARCH_BACKENDS`. These signal handlers are automatically registered when the `wagtail.search` app is loaded.
In some cases, you may not want your content to be automatically reindexed and instead rely on the `update_index` command for indexing. If you need to disable these signal handlers, use one of the following methods:
#### Disabling auto-update signal handlers for a model[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#disabling-auto-update-signal-handlers-for-a-model "Link to this heading")
You can disable the signal handlers for an individual model by adding `search_auto_update = False` as an attribute on the model class.
#### Disabling auto-update signal handlers for a search backend/whole site[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#disabling-auto-update-signal-handlers-for-a-search-backend-whole-site "Link to this heading")
You can disable the signal handlers for a whole search backend by setting the `AUTO_UPDATE` setting on the backend to `False`.
If all search backends have `AUTO_UPDATE` set to `False`, the signal handlers will be completely disabled for the whole site.
For documentation on the `AUTO_UPDATE` setting, see [AUTO\_UPDATE](https://docs.wagtail.org/en/v6.3.5/topics/search/backends.html#wagtailsearch-backends-auto-update)
.
### The `update_index` command[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#the-update-index-command "Link to this heading")
Wagtail also provides a command for rebuilding the index from scratch.
`./manage.py update_index`
It is recommended to run this command once a week and at the following times:
* whenever any pages have been created through a script (after an import, for example)
* whenever any changes have been made to models or search configuration
The search may not return any results while this command is running, so avoid running it at peak times.
Note
The `update_index` command is also aliased as `wagtail_update_index`, for use when another installed package (such as [Haystack](https://haystacksearch.org/)
) provides a conflicting `update_index` command. In this case, the other package’s entry in `INSTALLED_APPS` should appear above `wagtail.search` so that its `update_index` command takes precedence over Wagtail’s.
### Disabling model indexing[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#disabling-model-indexing "Link to this heading")
Indexing of a model can be disabled completely by setting `search_fields = []` within the model. This will disable index updates by the signal handler and by the `update_index` management command.
Indexing extra fields[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing-extra-fields "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------
Fields must be explicitly added to the `search_fields` property of your `Page`\-derived model, in order for you to be able to search/filter on them. This is done by overriding `search_fields` to append a list of extra `SearchField`/`FilterField` objects to it.
### Example[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#example "Link to this heading")
This creates an `EventPage` model with two fields: `description` and `date`. `description` is indexed as a `SearchField` and `date` is indexed as a `FilterField`.
from wagtail.search import index
from django.utils import timezone
class EventPage(Page):
description \= models.TextField()
date \= models.DateField()
search\_fields \= Page.search\_fields + \[ \# Inherit search\_fields from Page\
index.SearchField('description'),\
index.FilterField('date'),\
\]
\# Get future events which contain the string "Christmas" in the title or description
\>>> EventPage.objects.filter(date\_\_gt\=timezone.now()).search("Christmas")
### `index.SearchField`[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#index-searchfield "Link to this heading")
These are used for performing full-text searches on your models, usually for text fields.
#### Options[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#options "Link to this heading")
* **boost** (`int/float`) - This allows you to set fields as being more important than others. Setting this to a high number on a field will cause pages with matches in that field to be ranked higher. By default, this is set to 2 on the Page title field and 1 on all other fields.
Note
The PostgresSQL full-text search only supports [four weight levels (A, B, C, D)](https://www.postgresql.org/docs/current/textsearch-features.html)
. When the database search backend `wagtail.search.backends.database` is used on a PostgreSQL database, it will take all boost values in the project into consideration and group them into the four available weights.
This means that in this configuration there are effectively only four boost levels used for ranking the search results, even if more boost values have been used.
You can find out roughly which boost thresholds map to which weight in PostgreSQL by starting a new Django shell with `./manage.py shell` and inspecting `wagtail.search.backends.database.postgres.weights.BOOST_WEIGHTS`. You should see something like `[(10.0, 'A'), (7.166666666666666, 'B'), (4.333333333333333, 'C'), (1.5, 'D')]`. Boost values above each threshold will be treated with the respective weight.
* **es\_extra** (`dict`) - This field is to allow the developer to set or override any setting on the field in the Elasticsearch mapping. Use this if you want to make use of any Elasticsearch features that are not yet supported in Wagtail.
### `index.AutocompleteField`[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#index-autocompletefield "Link to this heading")
These are used for autocomplete queries that match partial words. For example, a page titled `Hello World!` will be found if the user only types `Hel` into the search box.
This takes the same options as `index.SearchField`.
Note
`index.AutocompleteField` should only be used on fields that are displayed in the search results. This allows users to see any words that were partial-matched.
### `index.FilterField`[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#index-filterfield "Link to this heading")
These are added to the search index but are not used for full-text searches. Instead, they allow you to run filters on your search results.
### `index.RelatedFields`[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#index-relatedfields "Link to this heading")
This allows you to index fields from related objects. It works on all types of related fields, including their reverse accessors.
For example, if we have a book that has a `ForeignKey` to its author, we can nest the author’s `name` and `date_of_birth` fields inside the book:
from wagtail.search import index
class Book(models.Model, index.Indexed):
...
search\_fields \= \[\
index.SearchField('title'),\
index.FilterField('published\_date'),\
\
index.RelatedFields('author', \[\
index.SearchField('name'),\
index.FilterField('date\_of\_birth'),\
\]),\
\]
This will allow you to search for books by their author’s name.
It works the other way around as well. You can index an author’s books, allowing an author to be searched for by the titles of books they’ve published:
from wagtail.search import index
class Author(models.Model, index.Indexed):
...
search\_fields \= \[\
index.SearchField('name'),\
index.FilterField('date\_of\_birth'),\
\
index.RelatedFields('books', \[\
index.SearchField('title'),\
index.FilterField('published\_date'),\
\]),\
\]
#### Filtering on `index.RelatedFields`[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#filtering-on-index-relatedfields "Link to this heading")
It’s not possible to filter on any `index.FilterFields` within `index.RelatedFields` using the `QuerySet` API. However, the fields are indexed, so it should be possible to use them by querying Elasticsearch manually.
Filtering on `index.RelatedFields` with the `QuerySet` API is planned for a future release of Wagtail.
### Indexing callables and other attributes[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing-callables-and-other-attributes "Link to this heading")
Search/filter fields do not need to be Django model fields. They can also be any method or attribute on your model class.
One use for this is indexing the `get_*_display` methods Django creates automatically for fields with choices.
from wagtail.search import index
class EventPage(Page):
IS\_PRIVATE\_CHOICES \= (
(False, "Public"),
(True, "Private"),
)
is\_private \= models.BooleanField(choices\=IS\_PRIVATE\_CHOICES)
search\_fields \= Page.search\_fields + \[\
\# Index the human-readable string for searching.\
index.SearchField('get\_is\_private\_display'),\
\
\# Index the boolean value for filtering.\
index.FilterField('is\_private'),\
\]
Callables also provide a way to index fields from related models. In the example from [InlinePanel](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#inline-panels)
, to index each BookPage by the titles of its related\_links:
class BookPage(Page):
\# ...
def get\_related\_link\_titles(self):
\# Get list of titles and concatenate them
return '\\n'.join(self.related\_links.all().values\_list('name', flat\=True))
search\_fields \= Page.search\_fields + \[\
\# ...\
index.SearchField('get\_related\_link\_titles'),\
\]
Indexing custom models[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#indexing-custom-models "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------
Any Django model can be indexed and searched.
To do this, inherit from `index.Indexed` and add some `search_fields` to the model.
from wagtail.search import index
class Book(index.Indexed, models.Model):
title \= models.CharField(max\_length\=255)
genre \= models.CharField(max\_length\=255, choices\=GENRE\_CHOICES)
author \= models.ForeignKey(Author, on\_delete\=models.CASCADE)
published\_date \= models.DateTimeField()
search\_fields \= \[\
index.SearchField('title', boost\=10),\
index.AutocompleteField('title', boost\=10),\
index.SearchField('get\_genre\_display'),\
\
index.FilterField('genre'),\
index.FilterField('author'),\
index.FilterField('published\_date'),\
\]
\# As this model doesn't have a search method in its QuerySet, we have to call search directly on the backend
\>>> from wagtail.search.backends import get\_search\_backend
\>>> s \= get\_search\_backend()
\# Run a search for a book by Roald Dahl
\>>> roald\_dahl \= Author.objects.get(name\="Roald Dahl")
\>>> s.search("chocolate factory", Book.objects.filter(author\=roald\_dahl))
\[\]
---
# Customize your home page — Wagtail Documentation 7.1.2 documentation
* * *
Customize your home page[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/customize_homepage.html#customize-your-home-page "Link to this heading")
=================================================================================================================================================
Heads’up! Make sure you have completed [Your first Wagtail site](https://docs.wagtail.org/en/v7.1.2/getting_started/tutorial.html)
before going through this extended tutorial.
When building your portfolio website, the first step is to set up and personalize your homepage. The homepage is your chance to make an excellent first impression and convey the core message of your portfolio. So your homepage should include the following features:
1. **Introduction:** A concise introduction captures visitors’ attention.
2. **Biography:** Include a brief biography that introduces yourself. This section should mention your name, role, expertise, and unique qualities.
3. **Hero Image:** This may be a professional headshot or other image that showcases your work and adds visual appeal.
4. **Call to Action (CTA):** Incorporate a CTA that guides visitors to take a specific action, such as “View Portfolio,” “Hire Me,” or “Learn More”.
5. **Resume:** This is a document that provides a summary of your education, work experience, achievements, and qualifications.
In this section, you’ll learn how to add features **1** through **4** to your homepage. You’ll add your resume or CV later in the tutorial.
Now, modify your `home/models.py` file to include the following:
from django.db import models
from wagtail.models import Page
from wagtail.fields import RichTextField
\# import MultiFieldPanel:
from wagtail.admin.panels import FieldPanel, MultiFieldPanel
class HomePage(Page):
\# add the Hero section of HomePage:
image \= models.ForeignKey(
"wagtailimages.Image",
null\=True,
blank\=True,
on\_delete\=models.SET\_NULL,
related\_name\="+",
help\_text\="Homepage image",
)
hero\_text \= models.CharField(
blank\=True,
max\_length\=255, help\_text\="Write an introduction for the site"
)
hero\_cta \= models.CharField(
blank\=True,
verbose\_name\="Hero CTA",
max\_length\=255,
help\_text\="Text to display on Call to Action",
)
hero\_cta\_link \= models.ForeignKey(
"wagtailcore.Page",
null\=True,
blank\=True,
on\_delete\=models.SET\_NULL,
related\_name\="+",
verbose\_name\="Hero CTA link",
help\_text\="Choose a page to link to for the Call to Action",
)
body \= RichTextField(blank\=True)
\# modify your content\_panels:
content\_panels \= Page.content\_panels + \[\
MultiFieldPanel(\
\[\
FieldPanel("image"),\
FieldPanel("hero\_text"),\
FieldPanel("hero\_cta"),\
FieldPanel("hero\_cta\_link"),\
\],\
heading\="Hero section",\
),\
FieldPanel('body'),\
\]
You might already be familiar with the different parts of your `HomePage` model. The `image` field is a `ForeignKey` referencing Wagtail’s built-in Image model for storing images. Similarly, `hero_cta_link` is a `ForeignKey` to `wagtailcore.Page`. The `wagtailcore.Page` is the base class for all other page types in Wagtail. This means all Wagtail pages inherit from `wagtailcore.Page`. For instance, your `class HomePage(Page)` inherits from `wagtailcore.Page`.
Using `on_delete=models.SET_NULL` ensures that if you remove an image or hero link from your admin interface, the `image` or `hero_cta_link` fields on your Homepage will be set to null, but the rest of the data will be preserved. Read the [Django documentation on the `on_delete` attribute](https://docs.djangoproject.com/en/stable/ref/models/fields/#django.db.models.ForeignKey.on_delete "Django 5.2")
for more details.
By default, Django creates a reverse relation between the models when you have a `ForeignKey` field within your model. Django also generates a name for this reverse relation using the model name and the `_set` suffix. You can use the default name of the reverse relation to access the model with the `ForeignKey` field from the referenced model.
You can override this default naming behavior and provide a custom name for the reverse relationship by using the `related_name` attribute. For example, if you want to access your `HomePage` from `wagtailimages.Image`, you can use the value you provided for your `related_name` attribute.
However, when you use `related_name="+"`, you create a connection between models without creating a reverse relation. In other words, you’re instructing Django to create a way to access `wagtailimages.Image` from your `Homepage` but not a way to access `HomePage` from `wagtailimages.Image`.
While `body` is a `RichTextField`, `hero_text` and `hero_cta` are `CharField`, a Django string field for storing short text.
The [Your First Wagtail Tutorial](https://docs.wagtail.org/en/v7.1.2/getting_started/tutorial.html)
already explained `content_panels`. [FieldPanel](https://docs.wagtail.org/en/v7.1.2/reference/panels.html#field-panel)
and [MultiPanel](https://docs.wagtail.org/en/v7.1.2/reference/panels.html#multifieldpanel)
are types of Wagtail built-in [Panels](https://docs.wagtail.org/en/v7.1.2/reference/panels.html#editing-api)
. They’re both subclasses of the base Panel class and accept all of Wagtail’s `Panel` parameters in addition to their own. While the `FieldPanel` provides a widget for basic Django model fields, `MultiFieldPanel` helps you decide the structure of the editing form. For example, you can group related fields.
Now that you understand the different parts of your `HomePage` model, migrate your database by running `python manage.py makemigrations` and then `python manage.py migrate`
After migrating your database, start your server by running `python manage.py runserver`.
Add content to your homepage[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/customize_homepage.html#add-content-to-your-homepage "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------------
To add content to your homepage through the admin interface, follow these steps:
1. Log in to your [admin interface](http://127.0.0.1:8000/admin/)
, with your admin username and password.
2. Click Pages.
3. Click the **pencil** icon beside **Home**.
4. Choose an image, choose a page, and add data to the input fields.
Note
You can choose your home page or blog index page to link to your Call to Action. You can choose a more suitable page later in the tutorial.
5. Publish your Home page.
You have all the necessary data for your Home page now. You can visit your Home page by going to `http://127.0.0.1:8000` in your browser. You can’t see all your data, right? That’s because you must modify your Homepage template to display the data.
Replace the content of your `home/templates/home/home_page.html` file with the following:
{% extends "base.html" %}
{% load wagtailcore\_tags wagtailimages\_tags %}
{% block body\_class %}template-homepage{% endblock %}
{% block content %}
{{ page.body|richtext }}
{% endblock content %}
In your Homepage template, notice the use of `firstof` in line 13. It’s helpful to use this tag when you have created a series of fallback options, and you want to display the first one that has a value. So, in your template, the `firstof` template tag displays `page.hero_cta` if it has a value. If `page.hero_cta` doesn’t have a value, then it displays `page.hero_cta_link.title`.
Congratulations! You’ve completed the first stage of your Portfolio website 🎉🎉🎉.
---
# Create a portfolio page — Wagtail Documentation 6.3.5 documentation
* * *
Create a portfolio page[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#create-a-portfolio-page "Link to this heading")
==================================================================================================================================================
A portfolio page is a web page that has your resume or Curriculum Vitae (CV). The page will give potential employers a chance to review your work experience.
This tutorial shows you how to add a portfolio page to your portfolio site using the Wagtail StreamField.
First, let’s explain what StreamField is.
What is StreamField?[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#what-is-streamfield "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------
StreamField is a feature that was created to balance the need for developers to have well-structured data and the need for content creators to have editorial flexibility in how they create and organize their content.
In traditional content management systems, there’s often a compromise between structured content and giving editors the freedom to create flexible layouts. Typically, Rich Text fields are used to give content creators the tools they need to make flexible and versatile content. Rich Text fields can provide a WYSIWYG editor for formatting. However, Rich Text fields have limitations.
One of the limitations of Rich Text fields is the loss of semantic value. Semantic value in content denotes the underlying meaning or information conveyed by the structure and markup of content. When content lacks semantic value, it becomes more difficult to determine its intended meaning or purpose. For example, when editors use Rich Text fields to style text or insert multimedia, the content might not be semantically marked as such.
So, StreamField gives editors more flexibility and addresses the limitations of Rich Text fields. StreamField is a versatile content management solution that treats content as a sequence of blocks. Each block represents different content types like paragraphs, images, and maps. Editors can arrange and customize these blocks to create complex and flexible layouts. Also, StreamField can capture the semantic meaning of different content types.
Create reusable custom blocks[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#create-reusable-custom-blocks "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Now that you know what StreamField is, let’s guide you through using it to add a portfolio page to your site.
Start by adding a new app to your portfolio site by running the following command:
python manage.py startapp portfolio
Install your new portfolio app to your site by adding _“portfolio”_ to the `INSTALLED_APPS` list in your `mysite/settings/base.py` file.
Now create a `base/blocks.py` file and add the following lines of code to it:
from wagtail.blocks import (
CharBlock,
ChoiceBlock,
RichTextBlock,
StreamBlock,
StructBlock,
)
from wagtail.embeds.blocks import EmbedBlock
from wagtail.images.blocks import ImageBlock
class CaptionedImageBlock(StructBlock):
image \= ImageBlock(required\=True)
caption \= CharBlock(required\=False)
attribution \= CharBlock(required\=False)
class Meta:
icon \= "image"
template \= "base/blocks/captioned\_image\_block.html"
class HeadingBlock(StructBlock):
heading\_text \= CharBlock(classname\="title", required\=True)
size \= ChoiceBlock(
choices\=\[\
("", "Select a heading size"),\
("h2", "H2"),\
("h3", "H3"),\
("h4", "H4"),\
\],
blank\=True,
required\=False,
)
class Meta:
icon \= "title"
template \= "base/blocks/heading\_block.html"
class BaseStreamBlock(StreamBlock):
heading\_block \= HeadingBlock()
paragraph\_block \= RichTextBlock(icon\="pilcrow")
image\_block \= CaptionedImageBlock()
embed\_block \= EmbedBlock(
help\_text\="Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks",
icon\="media",
)
In the preceding code, you created reusable Wagtail custom blocks for different content types in your general-purpose app. You can use these blocks across your site in any order. Let’s take a closer look at each of these blocks.
First, `CaptionedImageBlock` is a block that editors can use to add images to a StreamField section.
class CaptionedImageBlock(StructBlock):
image \= ImageBlock(required\=True)
caption \= CharBlock(required\=False)
attribution \= CharBlock(required\=False)
class Meta:
icon \= "image"
template \= "base/blocks/captioned\_image\_block.html"
`CaptionedImageBlock` inherits from `StructBlock`. With `StructBlock`, you can group several child blocks together under a single parent block. Your `CaptionedImageBlock` has three child blocks. The first child block, `Image`, uses the `ImageBlock` field block type. With `ImageBlock`, editors can select an existing image or upload a new one. Its `required` argument has a value of `true`, which means that you must provide an image for the block to work. The `caption` and `attribution` child blocks use the `CharBlock` field block type, which provides single-line text inputs for adding captions and attributions to your images. Your `caption` and `attribution` child blocks have their `required` attributes set to `false`. That means you can leave them empty in your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
if you want to.
Just like `CaptionedImageBlock`, your `HeadingBlock` also inherits from `StructBlock`. It has two child blocks. Let’s look at those.
class HeadingBlock(StructBlock):
heading\_text \= CharBlock(classname\="title", required\=True)
size \= ChoiceBlock(
choices\=\[\
("", "Select a heading size"),\
("h2", "H2"),\
("h3", "H3"),\
("h4", "H4"),\
\],
blank\=True,
required\=False,
)
class Meta:
icon \= "title"
template \= "base/blocks/heading\_block.html"
The first child block, `heading_text`, uses `CharBlock` for specifying the heading text, and it’s required. The second child block, `size`, uses `ChoiceBlock` for selecting the heading size. It provides options for **h2**, **h3**, and **h4**. Both `blank=True` and `required=False` make the heading text optional in your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
.
Your `BaseStreamBlock` class inherits from `StreamBlock`. `StreamBlock` defines a set of child block types that you would like to include in all of the StreamField sections across a project. This class gives you a baseline collection of common blocks that you can reuse and customize for all the different page types where you use StreamField. For example, you will definitely want editors to be able to add images and paragraph text to all their pages, but you might want to create a special pull quote block that is only used on blog pages.
class BaseStreamBlock(StreamBlock):
heading\_block \= HeadingBlock()
paragraph\_block \= RichTextBlock(icon\="pilcrow")
image\_block \= CaptionedImageBlock()
embed\_block \= EmbedBlock(
help\_text\="Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks",
icon\="media",
)
Your `BaseStreamBlock` has four child blocks. The `heading_block` uses the previously defined `HeadingBlock`. `paragraph_block` uses `RichTextBlock`, which provides a WYSIWYG editor for creating formatted text. `image_block` uses the previously defined `CaptionedImageBlock` class. `embed_block` is a block for embedding external content like videos. It uses the Wagtail `EmbedBlock`. To discover more field block types that you can use, read the [documentation on Field block types](https://docs.wagtail.org/en/v6.3.5/reference/streamfield/blocks.html#field-block-types)
.
Also, you defined a `Meta` class within your `CaptionedImageBlock` and `HeadingBlock` blocks. The `Meta` classes provide metadata for the blocks, including icons to visually represent them in the admin interface. The `Meta` classes also include custom templates for rendering your `CaptionedImageBlock` and `HeadingBlock` blocks.
Note
Wagtail provides built-in templates to render each block. However, you can override the built-in template with a custom template.
Finally, you must add the custom templates that you defined in the `Meta` classes of your `CaptionedImageBlock` and `HeadingBlock` blocks.
To add the custom template of your `CaptionedImageBlock`, create a `base/templates/base/blocks/captioned_image_block.html` file and add the following to it:
{% load wagtailimages\_tags %}
{% image self.image fill-600x338 loading\="lazy" %}
{{ self.caption }} - {{ self.attribution }}
To add the custom template of your `HeadingBlock` block, create a `base/templates/base/blocks/heading_block.html` file and add the following to it:
{% if self.size \== 'h2' %}
{{ self.heading\_text }}
{% elif self.size \== 'h3' %}
{{ self.heading\_text }}
{% elif self.size \== 'h4' %}
{{ self.heading\_text }}
{% endif %}
Note
You can also create a custom template for a child block. For example, to create a custom template for `embed_block`, create a `base/templates/base/blocks/embed_block.html` file and add the following to it:
`{{ self }}`
Use the blocks you created in your portfolio app[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#use-the-blocks-you-created-in-your-portfolio-app "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You can use the reusable custom blocks you created in your general-purpose `base` app across your site. However, it’s conventional to define the blocks you want to use in a `blocks.py` file of the app you intend to use them in. Then you can import the blocks from your app’s `blocks.py` file to use them in your `models.py` file.
Now create a `portfolio/blocks.py` file and import the block you intend to use as follows:
from base.blocks import BaseStreamBlock
class PortfolioStreamBlock(BaseStreamBlock):
pass
The preceding code defines a custom block named `PortfolioStreamBlock`, which inherits from `BaseStreamBlock`. The pass statement indicates a starting point. Later in the tutorial, you’ll add custom block definitions and configurations to the `PortfolioStreamBlock`.
Now add the following to your `portfolio/models.py` file:
from wagtail.models import Page
from wagtail.fields import StreamField
from wagtail.admin.panels import FieldPanel
from portfolio.blocks import PortfolioStreamBlock
class PortfolioPage(Page):
parent\_page\_types \= \["home.HomePage"\]
body \= StreamField(
PortfolioStreamBlock(),
blank\=True,
use\_json\_field\=True,
help\_text\="Use this section to list your projects and skills.",
)
content\_panels \= Page.content\_panels + \[\
FieldPanel("body"),\
\]
In the preceding code, you defined a Wagtail `Page` named `PortfolioPage`. `parent_page_types = ["home.HomePage"]` specifies that your Portfolio page can only be a child page of Home Page. Your `body` field is a `StreamField`, which uses the `PortfolioStreamBlock` custom block that you imported from your `portfolio/blocks.py` file. `blank=True` indicates that you can leave this field empty in your admin interface. `help_text` provides a brief description of the field to guide editors.
Your next step is to create a template for your `PortfolioPage`. To do this, create a `portfolio/templates/portfolio/portfolio_page.html` file and add the following to it:
{% extends "base.html" %}
{% load wagtailcore\_tags wagtailimages\_tags %}
{% block body\_class %}template-portfolio{% endblock %}
{% block content %}
{{ page.title }}
{{ page.body }}
{% endblock %}
Now migrate your database by running `python manage.py makemigrations` and then `python manage.py migrate`.
Add more custom blocks[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#add-more-custom-blocks "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
To add more custom blocks to your `PortfolioPage`’s body, modify your `portfolio/blocks.py` file:
\# import CharBlock, ListBlock, PageChooserBlock, PageChooserBlock, RichTextBlock, and StructBlock:
from wagtail.blocks import (
CharBlock,
ListBlock,
PageChooserBlock,
RichTextBlock,
StructBlock,
)
\# import ImageBlock:
from wagtail.images.blocks import ImageBlock
from base.blocks import BaseStreamBlock
\# add CardBlock:
class CardBlock(StructBlock):
heading \= CharBlock()
text \= RichTextBlock(features\=\["bold", "italic", "link"\])
image \= ImageBlock(required\=False)
class Meta:
icon \= "form"
template \= "portfolio/blocks/card\_block.html"
\# add FeaturedPostsBlock:
class FeaturedPostsBlock(StructBlock):
heading \= CharBlock()
text \= RichTextBlock(features\=\["bold", "italic", "link"\], required\=False)
posts \= ListBlock(PageChooserBlock(page\_type\="blog.BlogPage"))
class Meta:
icon \= "folder-open-inverse"
template \= "portfolio/blocks/featured\_posts\_block.html"
class PortfolioStreamBlock(BaseStreamBlock):
\# delete the pass statement
card \= CardBlock(group\="Sections")
featured\_posts \= FeaturedPostsBlock(group\="Sections")
In the preceding code, `CardBlock` has three child blocks, `heading`, `text` and `image`. You are already familiar with the field block types used by the child pages.
However, in your `FeaturedPostsBlock`, one of the child blocks, `posts`, uses `ListBlock`. `ListBlock` is a structural block type that you can use for multiple sub-blocks of the same type. You used it with `PageChooserBlock` to select only the Blog Page type pages. To better understand structural block types, read the [Structural block types documentation](https://docs.wagtail.org/en/v6.3.5/reference/streamfield/blocks.html#streamfield-staticblock)
.
Furthermore, `icon = "form"` and `icon = "folder-open-inverse"` define custom block icons to set your blocks apart in the admin interface. For more information about block icons, read the [documentation on block icons](https://docs.wagtail.org/en/v6.3.5/topics/streamfield.html#block-icons)
.
You used `group="Sections"` in `card = CardBlock(group="Sections")` and `featured_posts = FeaturedPostsBlock(group="Sections")` to categorize your `card` and `featured_posts` child blocks together within a category named `section`.
You probably know what your next step is. You have to create templates for your `CardBlock` and `FeaturedPostsBlock`.
To create a template for `CardBlock`, create a `portfolio/templates/portfolio/blocks/card_block.html` file and add the following to it:
{% load wagtailcore\_tags wagtailimages\_tags %}
{{ self.heading }}
{{ self.text|richtext }}
{% if self.image %}
{% image self.image width-480 %}
{% endif %}
To create a template for `featured_posts_block`, create a `portfolio/templates/portfolio/blocks/featured_posts_block.html` file and add the following to it:
{% load wagtailcore\_tags %}
{{ self.heading }}
{% if self.text %}
{{ self.text|richtext }}
{% endif %}
{% for page in self.posts %}
{% endfor %}
Finally, migrate your changes by running `python manage.py makemigrations` and then `python manage.py migrate`.
Add your resume[¶](https://docs.wagtail.org/en/v6.3.5/tutorial/create_portfolio_page.html#add-your-resume "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------
To add your resume to your portfolio site, follow these steps:
1. Create a **Portfolio Page** as a child page of **Home** by following these steps:
a. Restart your server. b. Go to your admin interface. c. Click `Pages` in your [Sidebar](https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/#the-sidebar)
. d. Click `Home`. e. Click the `+` icon (Add child page) at the top of the resulting page. f. Click `Portfolio Page`.
2. Add your resume data by following these steps:
a. Use “Resume” as your page title. b. Click **+** to expand your body section. c. Click **Paragraph block**. d. Copy and paste the following text in your new **Paragraph block**:
I'm a Wagtail Developer with a proven track record of developing and maintaining complex web applications. I have experience writing custom code to extend Wagtail applications, collaborating with other developers, and integrating third-party services and APIs.
e. Click **+** below your preceding Paragraph block, and then click **Paragraph block** to add a new Paragraph Block. f. Type “/” in the input field of your new Paragraph block and then click **H2 Heading 2**. g. Use “Work Experience” as your Heading 2. h. Type “/” below your Heading 2 and click **H3 Heading 3**. i. Use the following as your Heading 3:
Wagtail developer at Birdwatchers Inc, United Kingdom
j. Type the following after your Heading 3:
January 2022 to November 2023
- Developed and maintained a complex web application using Wagtail, resulting in a 25% increase in user engagement and a 20% increase in revenue within the first year.
- Wrote custom code to extend Wagtail applications, resulting in a 30% reduction in development time and a 15% increase in overall code quality.
- Collaborated with other developers, designers, and stakeholders to integrate third-party services and APIs, resulting in a 40% increase in application functionality and user satisfaction.
- Wrote technical documentation and participated in code reviews, providing feedback to other developers and improving overall code quality by 20%.
Note
By starting your sentences with “-”, you’re writing out your work experience as a Bulletted list. You can achieve the same result by typing “/” in the input field of your Paragraph block and then clicking **Bulleted list**.
k. Click **+** below your Work experience. l. Click **Paragraph block** to add another Paragraph block. m. Type “/” in the input field of your new Paragraph block and then click **H2 Heading 2**. n. Use “Skills” as the Heading 2 of your new Paragraph block. o. Copy and paste the following after your Heading 2:
Python, Django, Wagtail, HTML, CSS, Markdown, Open-source management, Trello, Git, GitHub
3. Publish your `Portfolio Page`.
Congratulations! 🎉 You now understand how to create complex flexible layouts with Wagtail StreamField. In the next section of this tutorial, you’ll learn how to add search functionality to your site.
---
# Search — Wagtail Documentation 7.1.2 documentation
* * *
Search[¶](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html#search "Link to this heading")
=====================================================================================================
Wagtail provides a comprehensive and extensible search interface. In addition, it provides ways to promote search results through “Editor’s Picks”. Wagtail also collects simple statistics on queries made through the search interface.
* [Indexing](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html)
* [Updating the index](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#updating-the-index)
* [Indexing extra fields](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#indexing-extra-fields)
* [Indexing custom models](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#indexing-custom-models)
* [Searching](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html)
* [Searching QuerySets](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html#searching-querysets)
* [Changing search behavior](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html#changing-search-behavior)
* [An example page search view](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html#an-example-page-search-view)
* [Promoted search results](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html#promoted-search-results)
* [Backends](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html)
* [`AUTO_UPDATE`](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html#auto-update)
* [`ATOMIC_REBUILD`](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html#atomic-rebuild)
* [`BACKEND`](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html#backend)
* [Rolling Your Own](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html#rolling-your-own)
Indexing[¶](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html#indexing "Link to this heading")
---------------------------------------------------------------------------------------------------------
To make objects searchable, they must first be added to the search index. This involves configuring the models and fields that you would like to index (which is done for you for Pages, Images and Documents), and then actually inserting them into the index.
See [Updating the index](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#wagtailsearch-indexing-update)
for information on how to keep the objects in your search index in sync with the objects in your database.
If you have created some extra fields in a subclass of `Page` or `Image`, you may want to add these new fields to the search index, so a user’s search query can match the Page or Image’s extra content. See [Indexing extra fields](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#wagtailsearch-indexing-fields)
.
If you have a custom model which doesn’t derive from `Page` or `Image` that you would like to make searchable, see [Indexing custom models](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#wagtailsearch-indexing-models)
.
Searching[¶](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html#searching "Link to this heading")
-----------------------------------------------------------------------------------------------------------
Wagtail provides an API for performing search queries on your models. You can also perform search queries on Django QuerySets.
See [Searching](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html#wagtailsearch-searching)
.
Backends[¶](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html#backends "Link to this heading")
---------------------------------------------------------------------------------------------------------
Wagtail provides two backends for storing the search index and performing search queries: one using the database’s full-text search capabilities, and another using Elasticsearch. It’s also possible to roll your own search backend.
See [Backends](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html#wagtailsearch-backends)
.
---
# Writing templates — Wagtail Documentation 6.3.5 documentation
* * *
Writing templates[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#writing-templates "Link to this heading")
================================================================================================================================
Wagtail uses Django’s templating language. For developers new to Django, start with Django’s own template documentation: [Templates](https://docs.djangoproject.com/en/stable/topics/templates/ "Django 5.2")
Python programmers new to Django/Wagtail may prefer more technical documentation: [The Django template language: for Python programmers](https://docs.djangoproject.com/en/stable/ref/templates/api/ "Django 5.2")
You should be familiar with Django templating basics before continuing with this documentation.
Templates[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#templates "Link to this heading")
----------------------------------------------------------------------------------------------------------------
Every type of page or “content-type” in Wagtail is defined as a “model” in a file called `models.py`. If your site has a blog, you might have a `BlogPage` model and another called `BlogPageListing`. The names of the models are up to the Django developer.
For each page model in `models.py`, Wagtail assumes an HTML template file exists of (almost) the same name. The Front End developer may need to create these templates themselves by referring to `models.py` to infer template names from the models defined therein.
To find a suitable template, Wagtail converts CamelCase names to snake\_case. So for a `BlogPage` model, a template `blog_page.html` will be expected. The name of the template file can be overridden per model if necessary.
Template files are assumed to exist here:
name\_of\_project/
name\_of\_app/
templates/
name\_of\_app/
blog\_page.html
models.py
For more information, see the Django documentation for the [application directories template loader](https://docs.djangoproject.com/en/stable/ref/templates/api/ "Django 5.2")
.
### Page content[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#page-content "Link to this heading")
The data/content entered into each page is accessed/output through Django’s `{{ double-brace }}` notation. Each field from the model must be accessed by prefixing `page.`. For example the page title `{{ page.title }}` or another field `{{ page.author }}`.
A custom variable name can be configured on the page model [`wagtail.models.Page.context_object_name`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page.context_object_name "wagtail.models.Page.context_object_name")
. If a custom name is defined, `page` is still available for use in shared templates.
Additionally, `request.` is available and contains Django’s request object.
Static assets[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#static-assets "Link to this heading")
------------------------------------------------------------------------------------------------------------------------
Static files (such as CSS, JS, and images) are typically stored here:
name\_of\_project/
name\_of\_app/
static/
name\_of\_app/
css/
js/
images/
models.py
(The names “css”, “js” etc aren’t important, only their position within the tree.)
Any file within the static folder should be inserted into your HTML using the `{% static %}` tag. More about it: [Static files (tag)](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#static-tag)
.
### User images[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#user-images "Link to this heading")
Images uploaded to a Wagtail site by its users (as opposed to a developer’s static files, mentioned above) go into the image library and from there are added to pages via the page editor interface.
Unlike other CMSs, adding images to a page does not involve choosing a “version” of the image to use. Wagtail has no predefined image “formats” or “sizes”. Instead, the template developer defines image manipulation to occur _on the fly_ when the image is requested, via a special syntax within the template.
Images from the library must be requested using this syntax, but a developer’s static images can be added via conventional means like `img` tags. Only images from the library can be manipulated on the fly.
Read more about the image manipulation syntax here: [How to use images in templates](https://docs.wagtail.org/en/v6.3.5/topics/images.html#image-tag)
.
Template tags & filters[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#template-tags-filters "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------
In addition to Django’s standard tags and filters, Wagtail provides some of its own, which can be `load`\-ed [just like any other](https://docs.djangoproject.com/en/stable/howto/custom-template-tags/ "Django 5.2")
.
Images (tag)[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#images-tag "Link to this heading")
--------------------------------------------------------------------------------------------------------------------
The `image` tag inserts an XHTML-compatible `img` element into the page, setting its `src`, `width`, `height`, and `alt`. See also [More control over the img tag](https://docs.wagtail.org/en/v6.3.5/topics/images.html#image-tag-alt)
.
The syntax for the `image` tag is thus:
{% image \[image\] \[resize-rule\] %}
For example:
{% load wagtailimages\_tags %}
...
{% image page.photo width-400 %}
{% image page.photo fill-80x80 %}
See [How to use images in templates](https://docs.wagtail.org/en/v6.3.5/topics/images.html#image-tag)
for full documentation.
### Images in multiple formats[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#images-in-multiple-formats "Link to this heading")
The `picture` tag works like `image`, but allows specifying multiple formats to generate a `` element with `` elements and a fallback ` `.
For example:
{% load wagtailimages\_tags %}
...
{% picture page.photo format-{avif,webp,jpeg} width-400 %}
See [Multiple formats](https://docs.wagtail.org/en/v6.3.5/topics/images.html#multiple-formats)
for full documentation.
### Images in multiple sizes[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#images-in-multiple-sizes "Link to this heading")
The `srcset_image` tag works like `image`, but allows specifying multiple sizes to generate a `srcset` attribute and leverage [responsive image rules](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)
.
For example:
{% load wagtailimages\_tags %}
...
{% srcset\_image page.photo width-{400,800} sizes\="(max-width: 600px) 400px, 80vw" %}
This can also be done with `picture`, to generate multiple formats and sizes at once:
{% picture page.photo format-{avif,webp,jpeg} width-{400,800} sizes\="80vw" %}
See [Responsive images](https://docs.wagtail.org/en/v6.3.5/topics/images.html#responsive-images)
for full documentation.
Rich text (filter)[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#rich-text-filter "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------
This filter takes a chunk of HTML content and renders it as safe HTML on the page. Importantly, it also expands internal shorthand references to embedded images and links made in the Wagtail editor, into fully-baked HTML ready for display.
Only fields using `RichTextField` need this applied in the template.
{% load wagtailcore\_tags %}
...
{{ page.body|richtext }}
### Responsive Embeds[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#responsive-embeds "Link to this heading")
As Wagtail does not impose any styling of its own on templates, images, and embedded media will be displayed at a fixed width as determined by the HTML. Images can be made to resize to fit their container using a CSS rule such as the following:
.body img {
max-width: 100%;
height: auto;
}
where `body` is a container element in your template surrounding the images.
Making embedded media resizable is also possible, but typically requires custom style rules matching the media’s aspect ratio. To assist in this, Wagtail provides built-in support for responsive embeds, which can be enabled by setting `WAGTAILEMBEDS_RESPONSIVE_HTML = True` in your project settings. This adds a CSS class of `responsive-object` and an inline `padding-bottom` style to the embed, to be used in conjunction with the following CSS:
.responsive-object {
position: relative;
}
.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Internal links (tag)[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#internal-links-tag "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------
### `pageurl`[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#pageurl "Link to this heading")
Takes a Page object and returns a relative URL (`/foo/bar/`) if within the same Site as the current page, or absolute (`http://example.com/foo/bar/`) if not.
{% load wagtailcore\_tags %}
...
Back to index
A `fallback` keyword argument can be provided - this can be a URL string, a named URL route that can be resolved with no parameters, or an object with a `get_absolute_url` method, and will be used as a substitute URL when the passed page is `None`.
{% load wagtailcore\_tags %}
{% for publication in page.related\_publications.all %}
{{ publication.title }}
{% endfor %}
### `fullpageurl`[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#fullpageurl "Link to this heading")
Takes a Page object and returns its absolute URL (`http://example.com/foo/bar/`).
{% load wagtailcore\_tags %}
...
Much like `pageurl`, a `fallback` keyword argument may be provided.
### `slugurl`[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#slugurl "Link to this heading")
Takes any `slug` as defined in a page’s “Promote” tab and returns the URL for the matching Page. If multiple pages exist with the same slug, the page chosen is undetermined.
Like `pageurl`, this will try to provide a relative link if possible but will default to an absolute link if the Page is on a different Site. This is most useful when creating shared page furniture, for example, top-level navigation or site-wide links.
{% load wagtailcore\_tags %}
...
News index
Static files (tag)[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#static-files-tag "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------
Used to load anything from your static files directory. Use of this tag avoids rewriting all static paths if hosting arrangements change, such as when moving from development to a live environment.
{% load static %}
...
Notice that the full path is not required - the path given here is relative to the app’s `static` directory. To avoid clashes with static files from other apps (including Wagtail itself), it’s recommended to place static files in a subdirectory of `static` with the same name as the app.
Multi-site support[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#multi-site-support "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------
### `wagtail_site`[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#wagtail-site "Link to this heading")
Returns the Site object corresponding to the current request.
{% load wagtailcore\_tags %}
{% wagtail\_site as current\_site %}
Wagtail user bar[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#wagtail-user-bar "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------
This tag provides a contextual flyout menu for logged-in users. The menu gives editors the ability to edit the current page or add a child page, besides the options to show the page in the Wagtail page explorer or jump to the Wagtail admin dashboard. Moderators are also given the ability to accept or reject a page being previewed as part of content moderation.
This tag may be used on standard Django views, without page object. The user bar will contain one item pointing to the admin.
We recommend putting the tag near the top of the `` element to allow keyboard users to reach it. You should consider putting the tag after any [skip links](https://webaim.org/techniques/skipnav/)
but before the navigation and main content of your page.
{% load wagtailuserbar %}
...
Skip to content
{% wagtailuserbar %} {# This is a good place for the user bar #}
...
...
By default, the user bar appears in the bottom right of the browser window, inset from the edge. If this conflicts with your design it can be moved by passing a parameter to the template tag. These examples show you how to position the user bar in each corner of the screen:
...
{% wagtailuserbar 'top-left' %}
{% wagtailuserbar 'top-right' %}
{% wagtailuserbar 'bottom-left' %}
{% wagtailuserbar 'bottom-right' %}
...
The user bar can be positioned where it works best with your design. Alternatively, you can position it with a CSS rule in your own CSS files, for example:
wagtail-userbar::part(userbar) {
bottom: 30px;
}
To customize the items shown in the user bar, you can use the [`construct_wagtail_userbar`](https://docs.wagtail.org/en/v6.3.5/reference/hooks.html#construct-wagtail-userbar)
hook.
Varying output between preview and live[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#varying-output-between-preview-and-live "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sometimes you may wish to vary the template output depending on whether the page is being previewed or viewed live. For example, if you have visitor-tracking code such as Google Analytics in place on your site, it’s a good idea to leave this out when previewing, so that editor activity doesn’t appear in your analytics reports. Wagtail provides a `request.is_preview` variable to distinguish between preview and live:
{% if not request.is\_preview %}
{% endif %}
If the page is being previewed, `request.preview_mode` can be used to determine the specific preview mode being used, if the page supports [multiple preview modes](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page.preview_modes "wagtail.models.Page.preview_modes")
.
Template fragment caching[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#template-fragment-caching "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
Django supports [template fragment caching](https://docs.djangoproject.com/en/stable/topics/cache/#template-fragment-caching)
, which allows caching portions of a template. Using Django’s `{% cache %}` tag natively with Wagtail can be [dangerous](https://github.com/wagtail/wagtail/issues/5074)
as it can result in preview content being shown to end users. Instead, Wagtail provides 2 extra template tags which can be loaded from `wagtail_cache`:
### Preview-aware caching[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#preview-aware-caching "Link to this heading")
The `{% wagtailcache %}` tag functions similarly to Django’s `{% cache %}` tag, but will neither cache nor serve cached content when previewing a page (or other model) in Wagtail.
{% load wagtail\_cache %}
{% wagtailcache 500 sidebar %}
{% endwagtailcache %}
Much like `{% cache %}`, you can use [`make_template_fragment_key`](https://docs.djangoproject.com/en/stable/topics/cache/#django.core.cache.utils.make_template_fragment_key "Django 5.2")
to obtain the cache key.
### Page-aware caching[¶](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#page-aware-caching "Link to this heading")
`{% wagtailpagecache %}` is an extension of `{% wagtailcache %}`, but is also aware of the current `page` and `site`, and includes those as part of the cache key. This makes it possible to easily add caching around parts of the page without worrying about the page it’s on. `{% wagtailpagecache %}` intentionally makes assumptions - for more customization it’s recommended to use `{% wagtailcache %}`.
{% load wagtail\_cache %}
{% wagtailpagecache 500 hero %}
{% endwagtailpagecache %}
This is identical to:
{% wagtail\_site as current\_site %}
{% wagtailcache 500 hero page.cache\_key current\_site.id %}
{% endwagtailcache %}
Note the use of the page’s [cache key](https://docs.wagtail.org/en/v6.3.5/advanced_topics/performance.html#page-cache-key)
, which ensures that when a page is updated, the cache is automatically invalidated.
If you want to obtain the cache key, you can use `make_wagtail_template_fragment_key` (based on Django’s [`make_template_fragment_key`](https://docs.djangoproject.com/en/stable/topics/cache/#django.core.cache.utils.make_template_fragment_key "Django 5.2")
):
from django.core.cache import cache
from wagtail.coreutils import make\_wagtail\_template\_fragment\_key
key \= make\_wagtail\_template\_fragment\_key("hero", page, site)
cache.delete(key) \# invalidates cached template fragment
---
# Searching — Wagtail Documentation 6.3.5 documentation
* * *
Searching[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#searching "Link to this heading")
===============================================================================================================
Searching QuerySets[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#searching-querysets "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------
Wagtail search is built on Django’s [QuerySet API](https://docs.djangoproject.com/en/stable/ref/models/querysets/ "Django 5.2")
. You should be able to search any Django QuerySet provided the model and the fields being filtered have been added to the search index.
### Searching Pages[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#searching-pages "Link to this heading")
Wagtail provides a shortcut for searching pages: the `.search()` `QuerySet` method. You can call this on any `PageQuerySet`. For example:
\# Search future EventPages
\>>> from wagtail.models import EventPage
\>>> EventPage.objects.filter(date\_\_gt\=timezone.now()).search("Hello world!")
All other methods of `PageQuerySet` can be used with `search()`. For example:
\# Search all live EventPages that are under the events index
\>>> EventPage.objects.live().descendant\_of(events\_index).search("Event")
\[, \]
Note
The `search()` method will convert your `QuerySet` into an instance of one of Wagtail’s `SearchResults` classes (depending on backend). This means that you must perform filtering before calling `search()`.
The standard behavior of the `search` method is to only return matches for complete words; for example, a search for “hel” will not return results containing the word “hello”. The exception to this is the fallback database search backend, used when the database does not have full-text search extensions available, and no alternative backend has been specified. This performs basic substring matching and will return results containing the search term ignoring all word boundaries.
### Autocomplete searches[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#autocomplete-searches "Link to this heading")
Wagtail provides a separate method which performs partial matching on specific autocomplete fields. This is primarily useful for suggesting pages to the user in real-time as they type their query - it is not recommended for ordinary searches, as the autocompletion will tend to add unwanted results beyond the specific term being searched for.
\>>> EventPage.objects.live().autocomplete("Eve")
\[, \]
### Searching Images, Documents and custom models[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#searching-images-documents-and-custom-models "Link to this heading")
Wagtail’s document and image models provide a `search` method on their QuerySets, just as pages do:
\>>> from wagtail.images.models import Image
\>>> Image.objects.filter(uploaded\_by\_user\=user).search("Hello")
\[, \]
[Custom models](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-models)
can be searched by using the `search` method on the search backend directly:
\>>> from myapp.models import Book
\>>> from wagtail.search.backends import get\_search\_backend
\# Search books
\>>> s \= get\_search\_backend()
\>>> s.search("Great", Book)
\[, \]
You can also pass a QuerySet into the `search` method, which allows you to add filters to your search results:
\>>> from myapp.models import Book
\>>> from wagtail.search.backends import get\_search\_backend
\# Search books
\>>> s \= get\_search\_backend()
\>>> s.search("Great", Book.objects.filter(published\_date\_\_year\_\_lt\=1900))
\[\]
### Specifying the fields to search[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#specifying-the-fields-to-search "Link to this heading")
By default, Wagtail will search all fields that have been indexed using `index.SearchField`.
This can be limited to a certain set of fields by using the `fields` keyword argument:
\# Search just the title field
\>>> EventPage.objects.search("Event", fields\=\["title"\])
\[, \]
### Faceted search[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#faceted-search "Link to this heading")
Wagtail supports faceted search, which is a kind of filtering based on a taxonomy field (such as category or page type).
The `.facet(field_name)` method returns an `OrderedDict`. The keys are the IDs of the related objects that have been referenced by the specified field, and the values are the number of references found for each ID. The results are ordered by the number of references descending.
For example, to find the most common page types in the search results:
\>>> Page.objects.search("Test").facet("content\_type\_id")
\# Note: The keys correspond to the ID of a ContentType object; the values are the
\# number of pages returned for that type
OrderedDict(\[\
('2', 4), # 4 pages have content\_type\_id == 2\
('1', 2), # 2 pages have content\_type\_id == 1\
\])
Changing search behavior[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#changing-search-behavior "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------
### Search operator[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#search-operator "Link to this heading")
The search operator specifies how the search should behave when the user has typed in multiple search terms. There are two possible values:
* “or” - The results must match at least one term (default for Elasticsearch)
* “and” - The results must match all terms (default for database search)
Both operators have benefits and drawbacks. The “or” operator will return many more results but will likely contain a lot of results that aren’t relevant. The “and” operator only returns results that contain all search terms but requires the user to be more precise with their query.
We recommend using the “or” operator when ordering by relevance and the “and” operator when ordering by anything else.
Here’s an example of using the `operator` keyword argument:
\# The database contains a "Thing" model with the following items:
\# - Hello world
\# - Hello
\# - World
\# Search with the "or" operator
\>>> s \= get\_search\_backend()
\>>> s.search("Hello world", Things, operator\="or")
\# All records returned as they all contain either "hello" or "world"
\[, , \]
\# Search with the "and" operator
\>>> s \= get\_search\_backend()
\>>> s.search("Hello world", Things, operator\="and")
\# Only "hello world" returned as that's the only item that contains both terms
\[\]
For page, image, and document models, the `operator` keyword argument is also supported on the QuerySet’s `search` method:
\>>> Page.objects.search("Hello world", operator\="or")
\# All pages containing either "hello" or "world" are returned
\[, , \]
### Phrase searching[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#phrase-searching "Link to this heading")
Phrase searching is used for finding whole sentences or phrases rather than individual terms. The terms must appear together and in the same order.
For example:
\>>> from wagtail.search.query import Phrase
\>>> Page.objects.search(Phrase("Hello world"))
\[\]
\>>> Page.objects.search(Phrase("World hello"))
\[\]
If you are looking to implement phrase queries using the double-quote syntax, see [Query string parsing](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#wagtailsearch-query-string-parsing)
.
### Fuzzy matching[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#fuzzy-matching "Link to this heading")
Fuzzy matching will return documents which contain terms similar to the search term, as measured by a [Levenshtein edit distance](https://en.wikipedia.org/wiki/Levenshtein_distance)
.
A maximum of one edit (transposition, insertion, or removal of a character) is permitted for three to five-letter terms, two edits for longer terms, and shorter terms must match exactly.
For example:
\>>> from wagtail.search.query import Fuzzy
\>>> Page.objects.search(Fuzzy("Hallo"))
\[\]
Fuzzy matching is supported by the Elasticsearch search backend only.
### Complex search queries[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#complex-search-queries "Link to this heading")
Through the use of search query classes, Wagtail also supports building search queries as Python objects which can be wrapped by and combined with other search queries. The following classes are available:
`PlainText(query_string, operator=None, boost=1.0)`
This class wraps a string of separate terms. This is the same as searching without query classes.
It takes a query string, operator and boost.
For example:
\>>> from wagtail.search.query import PlainText
\>>> Page.objects.search(PlainText("Hello world"))
\# Multiple plain text queries can be combined. This example will match both "hello world" and "Hello earth"
\>>> Page.objects.search(PlainText("Hello") & (PlainText("world") | PlainText("earth")))
`Phrase(query_string)`
This class wraps a string containing a phrase. See the previous section for how this works.
For example:
\# This example will match both the phrases "hello world" and "Hello earth"
\>>> Page.objects.search(Phrase("Hello world") | Phrase("Hello earth"))
`Boost(query, boost)`
This class boosts the score of another query.
For example:
\>>> from wagtail.search.query import PlainText, Boost
\# This example will match both the phrases "hello world" and "Hello earth" but matches for "hello world" will be ranked higher
\>>> Page.objects.search(Boost(Phrase("Hello world"), 10.0) | Phrase("Hello earth"))
Note that this isn’t supported by the PostgreSQL or database search backends.
### Query string parsing[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#query-string-parsing "Link to this heading")
The previous sections show how to construct a phrase search query manually, but a lot of search engines (Wagtail admin included, try it!) support writing phrase queries by wrapping the phrase with double quotes. In addition to phrases, you might also want to allow users to add filters to the query using the colon syntax (`hello world published:yes`).
These two features can be implemented using the `parse_query_string` utility function. This function takes a query string that a user typed and returns a query object and a [QueryDict](https://docs.djangoproject.com/en/stable/ref/request-response/#django.http.QueryDict "Django 5.2")
of filters:
For example:
\>>> from wagtail.search.utils import parse\_query\_string
\>>> filters, query \= parse\_query\_string('my query string "this is a phrase" this\_is\_a:filter key:value1 key:value2', operator\='and')
\# Alternatively..
\# filters, query = parse\_query\_string("my query string 'this is a phrase' this\_is\_a:filter key:test1 key:test2", operator='and')
\>>> filters
>
\# Get a list of values associated with a particular key using the getlist method
\>>> filters.getlist('key')
\['value1', 'value2'\]
\# Get a dict representation using the dict method
\# NOTE: The dict method will reduce multiple values for a particular key to the last assigned value
\>>> filters.dict()
{
'this\_is\_a': 'filter',
'key': 'value2'
}
\>>> query
And(\[\
PlainText("my query string", operator='and'),\
Phrase("this is a phrase"),\
\])
Here’s an example of how this function can be used in a search view:
from wagtail.search.utils import parse\_query\_string
def search(request):
query\_string \= request.GET\['query'\]
\# Parse query
filters, query \= parse\_query\_string(query\_string, operator\='and')
\# Published filter
\# An example filter that accepts either \`published:yes\` or \`published:no\` and filters the pages accordingly
published\_filter \= filters.get('published')
published\_filter \= published\_filter and published\_filter.lower()
if published\_filter in \['yes', 'true'\]:
pages \= pages.filter(live\=True)
elif published\_filter in \['no', 'false'\]:
pages \= pages.filter(live\=False)
\# Search
pages \= pages.search(query)
return render(request, 'search\_results.html', {'pages': pages})
### Custom ordering[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#custom-ordering "Link to this heading")
By default, search results are ordered by relevance if the backend supports it. To preserve the QuerySet’s existing ordering, the `order_by_relevance` keyword argument needs to be set to `False` on the `search()` method.
For example:
\# Get a list of events ordered by date
\>>> EventPage.objects.order\_by('date').search("Event", order\_by\_relevance\=False)
\# Events ordered by date
\[, , \]
### Annotating results with score[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#annotating-results-with-score "Link to this heading")
For each matched result, Elasticsearch calculates a “score”, which is a number that represents how relevant the result is based on the user’s query. The results are usually ordered based on the score.
There are some cases where having access to the score is useful (such as programmatically combining two queries for different models). You can add the score to each result by calling the `.annotate_score(field)` method on the `SearchQuerySet`.
For example:
\>>> events \= EventPage.objects.search("Event").annotate\_score("\_score")
\>>> for event in events:
... print(event.title, event.\_score)
...
("Easter", 2.5),
("Halloween", 1.7),
("Christmas", 1.5),
Note that the score itself is arbitrary and it is only useful for comparison of results for the same query.
An example page search view[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#an-example-page-search-view "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------
Here’s an example Django view that could be used to add a “search” page to your site:
\# views.py
from django.shortcuts import render
from wagtail.models import Page
from wagtail.contrib.search\_promotions.models import Query
def search(request):
\# Search
search\_query \= request.GET.get('query', None)
if search\_query:
search\_results \= Page.objects.live().search(search\_query)
\# Log the query so Wagtail can suggest promoted results
Query.get(search\_query).add\_hit()
else:
search\_results \= Page.objects.none()
\# Render template
return render(request, 'search\_results.html', {
'search\_query': search\_query,
'search\_results': search\_results,
})
And here’s a template to go with it:
{% extends "base.html" %}
{% load wagtailcore\_tags %}
{% block title %}Search{% endblock %}
{% block content %}
{% if search\_results %}
{% for result in search\_results %}
{% if result.search\_description %}
{{ result.search\_description|safe }}
{% endif %}
{% endfor %}
{% elif search\_query %}
No results found
{% else %}
Please type something into the search box
{% endif %}
{% endblock %}
Promoted search results[¶](https://docs.wagtail.org/en/v6.3.5/topics/search/searching.html#promoted-search-results "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------
“Promoted search results” allow editors to explicitly link relevant content to search terms, so results pages can contain curated content in addition to results from the search engine.
This functionality is provided by the [`search_promotions`](https://docs.wagtail.org/en/v6.3.5/reference/contrib/searchpromotions.html#module-wagtail.contrib.search_promotions "wagtail.contrib.search_promotions")
contrib module.
---
# Custom page listings — Wagtail Documentation 7.2.1 documentation
* * *
Custom page listings[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_page_listings.html#custom-page-listings "Link to this heading")
================================================================================================================================================================
Normally, editors navigate through the Wagtail admin interface by following the structure of the page tree. However, this can make it slow to locate a specific page for editing, especially on large sites where pages are organised into a deep hierarchy.
Custom page listings are a way to present a flat list of all pages of a given type, accessed from a menu item in the Wagtail admin menu, with the ability for editors to search and filter this list to find the pages they are interested in. To define a custom page listing, create a subclass of [`PageListingViewSet`](https://docs.wagtail.org/en/v7.2.1/reference/viewsets.html#wagtail.admin.viewsets.pages.PageListingViewSet "wagtail.admin.viewsets.pages.PageListingViewSet")
and register it using the [`register_admin_viewset`](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#register-admin-viewset)
hook.
For example, if your site implemented the page type `BlogPage`, you could provide a “Blog pages” listing in the Wagtail admin by adding the following definitions to a `wagtail_hooks.py` file within the app:
\# myapp/wagtail\_hooks.py
from wagtail import hooks
from wagtail.admin.viewsets.pages import PageListingViewSet
from myapp.models import BlogPage
class BlogPageListingViewSet(PageListingViewSet):
icon \= "globe"
menu\_label \= "Blog Pages"
add\_to\_admin\_menu \= True
model \= BlogPage
blog\_page\_listing\_viewset \= BlogPageListingViewSet("blog\_pages")
@hooks.register("register\_admin\_viewset")
def register\_blog\_page\_listing\_viewset():
return blog\_page\_listing\_viewset
The columns of the listing can be customized by overriding the `columns` attribute on the viewset. This should be a list of `wagtail.admin.ui.tables.Column` instances:
from wagtail import hooks
from wagtail.admin.ui.tables import Column
from wagtail.admin.viewsets.pages import PageListingViewSet
from myapp.models import BlogPage
class BlogPageListingViewSet(PageListingViewSet):
\# ...
columns \= PageListingViewSet.columns + \[\
Column("blog\_category", label\="Category", sort\_key\="blog\_category"),\
\]
The filtering options for the listing can be customized by overriding the `filterset_class` attribute on the viewset:
from wagtail import hooks
from wagtail.admin.viewsets.pages import PageListingViewSet
from myapp.models import BlogPage
class BlogPageFilterSet(PageListingViewSet.filterset\_class):
class Meta:
model \= BlogPage
fields \= \["blog\_category"\]
class BlogPageListingViewSet(PageListingViewSet):
\# ...
filterset\_class \= BlogPageFilterSet
---
# Page models — Wagtail Documentation 6.3.5 documentation
* * *
Page models[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#page-models "Link to this heading")
========================================================================================================
Each page type (a.k.a. content type) in Wagtail is represented by a Django model. All page models must inherit from the [`wagtail.models.Page`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page "wagtail.models.Page")
class.
As all page types are Django models, you can use any field type that Django provides. See [Model field reference](https://docs.djangoproject.com/en/stable/ref/models/fields/ "Django 5.2")
for a complete list of field types you can use. Wagtail also provides `wagtail.fields.RichTextField` which provides a WYSIWYG editor for editing rich-text content.
Note
If you’re not yet familiar with Django models, have a quick look at the following links to get you started:
* [Creating models](https://docs.djangoproject.com/en/stable/intro/tutorial02/#creating-models "(in Django v5.2)")
* [Model syntax](https://docs.djangoproject.com/en/stable/topics/db/models/ "(in Django v5.2)")
An example Wagtail page model[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#an-example-wagtail-page-model "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------
This example represents a typical blog post:
from django.db import models
from modelcluster.fields import ParentalKey
from wagtail.models import Page, Orderable
from wagtail.fields import RichTextField
from wagtail.admin.panels import FieldPanel, MultiFieldPanel, InlinePanel
from wagtail.search import index
class BlogPage(Page):
\# Database fields
body \= RichTextField()
date \= models.DateField("Post date")
feed\_image \= models.ForeignKey(
'wagtailimages.Image',
null\=True,
blank\=True,
on\_delete\=models.SET\_NULL,
related\_name\='+'
)
\# Search index configuration
search\_fields \= Page.search\_fields + \[\
index.SearchField('body'),\
index.FilterField('date'),\
\]
\# Editor panels configuration
content\_panels \= Page.content\_panels + \[\
FieldPanel('date'),\
FieldPanel('body'),\
InlinePanel('related\_links', heading\="Related links", label\="Related link"),\
\]
promote\_panels \= \[\
MultiFieldPanel(Page.promote\_panels, "Common page configuration"),\
FieldPanel('feed\_image'),\
\]
\# Parent page / subpage type rules
parent\_page\_types \= \['blog.BlogIndex'\]
subpage\_types \= \[\]
class BlogPageRelatedLink(Orderable):
page \= ParentalKey(BlogPage, on\_delete\=models.CASCADE, related\_name\='related\_links')
name \= models.CharField(max\_length\=255)
url \= models.URLField()
panels \= \[\
FieldPanel('name'),\
FieldPanel('url'),\
\]
Note
Ensure that none of your field names are the same as your class names. This will cause errors due to the way Django handles relations ([read more](https://github.com/wagtail/wagtail/issues/503)
). In our examples we have avoided this by appending “Page” to each model name.
Writing page models[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#writing-page-models "Link to this heading")
------------------------------------------------------------------------------------------------------------------------
Here, we’ll describe each section of the above example to help you create your own page models.
### Database fields[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#database-fields "Link to this heading")
Each Wagtail page type is a Django model, represented in the database as a separate table.
Each page type can have its own set of fields. For example, a news article may have body text and a published date, whereas an event page may need separate fields for venue and start/finish times.
In Wagtail, you can use any Django field class. Most field classes provided by third party apps should work as well.
Wagtail also provides a couple of field classes of its own:
* `RichTextField` - For rich text content
* `StreamField` - A block-based content field (see: [Freeform page content using StreamField](https://docs.wagtail.org/en/v6.3.5/topics/streamfield.html)
)
For tagging, Wagtail fully supports [django-taggit](https://django-taggit.readthedocs.org/en/latest/)
so we recommend using that.
### Search[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#search "Link to this heading")
The `search_fields` attribute defines which fields are added to the search index and how they are indexed.
This should be a list of `SearchField` and `FilterField` objects. `SearchField` adds a field for full-text search. `FilterField` adds a field for filtering the results. A field can be indexed with both `SearchField` and `FilterField` at the same time (but only one instance of each).
In the above example, we’ve indexed `body` for full-text search and `date` for filtering.
The arguments that these field types accept are documented in [indexing extra fields](https://docs.wagtail.org/en/v6.3.5/topics/search/indexing.html#wagtailsearch-indexing-fields)
.
### Editor panels[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#editor-panels "Link to this heading")
There are a few attributes for defining how the page’s fields will be arranged in the page editor interface:
* `content_panels` - For content, such as main body text
* `promote_panels` - For metadata, such as tags, thumbnail image and SEO title
* `settings_panels` - For settings, such as publish date
Each of these attributes is set to a list of `Panel` objects, which defines which fields appear on which tabs and how they are structured on each tab.
Here’s a summary of the `Panel` classes that Wagtail provides out of the box. See [Panel types](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html)
for full descriptions.
**Basic**
These allow editing of model fields. The `FieldPanel` class will choose the correct widget based on the type of the field, such as a rich text editor for `RichTextField`, or an image chooser for a `ForeignKey` to an image model. `FieldPanel` also provides a page chooser interface for `ForeignKey`s to page models, but for more fine-grained control over which page types can be chosen, `PageChooserPanel` provides additional configuration options.
* [`FieldPanel`](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#wagtail.admin.panels.FieldPanel "wagtail.admin.panels.FieldPanel")
* [`PageChooserPanel`](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#wagtail.admin.panels.PageChooserPanel "wagtail.admin.panels.PageChooserPanel")
**Structural**
These are used for structuring fields in the interface.
* [`MultiFieldPanel`](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#wagtail.admin.panels.MultiFieldPanel "wagtail.admin.panels.MultiFieldPanel")
* [`InlinePanel`](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#wagtail.admin.panels.InlinePanel "wagtail.admin.panels.InlinePanel")
* [`FieldRowPanel`](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#wagtail.admin.panels.FieldRowPanel "wagtail.admin.panels.FieldRowPanel")
#### Customizing the page editor interface[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#customizing-the-page-editor-interface "Link to this heading")
The page editor can be customized further. See [Customizing the editing interface](https://docs.wagtail.org/en/v6.3.5/advanced_topics/customisation/page_editing_interface.html)
.
### Parent page / subpage type rules[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#parent-page-subpage-type-rules "Link to this heading")
These two attributes allow you to control where page types may be used in your site. They allow you to define rules like “blog entries may only be created under a blog index”.
Both parent and subpage types take a list of model classes or model names. Model names are of the format `app_label.ModelName`. If the `app_label` is omitted, the same app is assumed.
* `parent_page_types` limits which page types this type can be created under
* `subpage_types` limits which page types can be created under this type
By default, any page type can be created under any page type and it is not necessary to set these attributes if that’s the desired behavior.
Setting `parent_page_types` to an empty list is a good way of preventing a particular page type from being created in the editor interface.
### Page descriptions[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#page-descriptions "Link to this heading")
With every Wagtail Page you are able to add a helpful description text, similar to a `help_text` model attribute. By adding `page_description` to your Page model you’ll be adding a short description that can be seen when you create a new page, edit an existing page or when you’re prompted to select a child page type.
class LandingPage(Page):
page\_description \= "Use this page for converting users"
### Page URLs[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#page-urls "Link to this heading")
The most common method of retrieving page URLs is by using the [`{% pageurl %}`](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#pageurl-tag)
or [`{% fullpageurl %}`](https://docs.wagtail.org/en/v6.3.5/topics/writing_templates.html#fullpageurl-tag)
template tags. Since it’s called from a template, these automatically includes the optimizations mentioned below.
Page models also include several low-level methods for overriding or accessing page URLs.
#### Customizing URL patterns for a page model[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#customizing-url-patterns-for-a-page-model "Link to this heading")
The `Page.get_url_parts(request)` method will not typically be called directly, but may be overridden to define custom URL routing for a given page model. It should return a tuple of `(site_id, root_url, page_path)`, which are used by `get_url` and `get_full_url` (see below) to construct the given type of page URL.
When overriding `get_url_parts()`, you should accept `*args, **kwargs`:
def get\_url\_parts(self, \*args, \*\*kwargs):
and pass those through at the point where you are calling `get_url_parts` on `super` (if applicable), for example:
super().get\_url\_parts(\*args, \*\*kwargs)
While you could pass only the `request` keyword argument, passing all arguments as-is ensures compatibility with any future changes to these method signatures.
For more information, please see [`wagtail.models.Page.get_url_parts()`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page.get_url_parts "wagtail.models.Page.get_url_parts")
.
#### Obtaining URLs for page instances[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#obtaining-urls-for-page-instances "Link to this heading")
You can call the `Page.get_url(request)` method whenever you need a page URL. It defaults to returning local URLs (not including the protocol or domain) if it determines that the page is on the current site (via the hostname in `request`); otherwise, it would return a full URL including the protocol and domain. Whenever possible, you should include the optional `request` argument to enable per-request caching of site-level URL information and facilitate the generation of local URLs.
A common use case for `get_url(request)` is in any custom template tag your project may include for generating navigation menus. When writing such a custom template tag, ensure that it includes `takes_context=True` and uses `context.get('request')` to safely pass the request or `None` if no request exists in the context.
For more information, please see [`wagtail.models.Page.get_url()`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page.get_url "wagtail.models.Page.get_url")
.
To retrieve the full URL (including the protocol and domain), use `Page.get_full_url(request)`. Whenever possible, the optional `request` argument should be included to enable per-request caching of site-level URL information.
For more information, please see [`wagtail.models.Page.get_full_url()`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page.get_full_url "wagtail.models.Page.get_full_url")
.
Template rendering[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#template-rendering "Link to this heading")
----------------------------------------------------------------------------------------------------------------------
Each page model can be given an HTML template which is rendered when a user browses to a page on the site frontend. This is the simplest and most common way to get Wagtail content to end users (but not the only way).
### Adding a template for a page model[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#adding-a-template-for-a-page-model "Link to this heading")
Wagtail automatically chooses a name for the template based on the app label and model class name.
Format: `/.html`
For example, the template for the above blog page will be: `blog/blog_page.html`
You just need to create a template in a location where it can be accessed with this name.
### Template context[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#template-context "Link to this heading")
Wagtail renders templates with the `page` variable bound to the page instance being rendered. Use this to access the content of the page. For example, to get the title of the current page, use `{{ page.title }}`. All variables provided by [context processors](https://docs.djangoproject.com/en/stable/ref/templates/api/#subclassing-context-requestcontext "Django 5.2")
are also available.
#### Customizing template context[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#customizing-template-context "Link to this heading")
All pages have a `get_context` method that is called whenever the template is rendered and returns a dictionary of variables to bind into the template.
To add more variables to the template context, you can override this method:
class BlogIndexPage(Page):
...
def get\_context(self, request, \*args, \*\*kwargs):
context \= super().get\_context(request, \*args, \*\*kwargs)
\# Add extra variables and return the updated context
context\['blog\_entries'\] \= BlogPage.objects.child\_of(self).live()
return context
The variables can then be used in the template:
{{ page.title }}
{% for entry in blog\_entries %}
{{ entry.title }}
{% endfor %}
### Changing the template[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#changing-the-template "Link to this heading")
Set the `template` attribute on the class to use a different template file:
class BlogPage(Page):
...
template \= 'other\_template.html'
#### Dynamically choosing the template[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#dynamically-choosing-the-template "Link to this heading")
The template can be changed on a per-instance basis by defining a `get_template` method on the page class. This method is called every time the page is rendered:
class BlogPage(Page):
...
use\_other\_template \= models.BooleanField()
def get\_template(self, request, \*args, \*\*kwargs):
if self.use\_other\_template:
return 'blog/other\_blog\_page.html'
return 'blog/blog\_page.html'
In this example, pages that have the `use_other_template` boolean field set will use the `blog/other_blog_page.html` template. All other pages will use the default `blog/blog_page.html`.
#### Ajax Templates[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#ajax-templates "Link to this heading")
If you want to add AJAX functionality to a page, such as a paginated listing that updates in-place on the page rather than triggering a full page reload, you can set the `ajax_template` attribute to specify an alternative template to be used when the page is requested via an AJAX call (as indicated by the `X-Requested-With: XMLHttpRequest` HTTP header):
class BlogPage(Page):
...
ajax\_template \= 'other\_template\_fragment.html'
template \= 'other\_template.html'
### More control over page rendering[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#more-control-over-page-rendering "Link to this heading")
All page classes have a `serve()` method that internally calls the `get_context` and `get_template` methods and renders the template. This method is similar to a Django view function, taking a Django `Request` object and returning a Django `Response` object.
This method can also be overridden for complete control over page rendering.
For example, here’s a way to make a page respond with a JSON representation of itself:
from django.http import JsonResponse
class BlogPage(Page):
...
def serve(self, request):
return JsonResponse({
'title': self.title,
'body': self.body,
'date': self.date,
\# Resizes the image to 300px width and gets a URL to it
'feed\_image': self.feed\_image.get\_rendition('width-300').url,
})
Inline models[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#inline-models "Link to this heading")
------------------------------------------------------------------------------------------------------------
Wagtail allows the nesting of other models within a page. This is useful for creating repeated fields, such as related links or items to display in a carousel. Inline model content is also versioned with the rest of the page.
An inline model must have a `ParentalKey` pointing to the parent model. It can also inherit from [`wagtail.models.Orderable`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Orderable "wagtail.models.Orderable")
to allow reordering of items in the admin interface.
Note
The model inlining feature is provided by [django-modelcluster](https://github.com/wagtail/django-modelcluster)
and the `ParentalKey` field type must be imported from there:
from modelcluster.fields import ParentalKey
`ParentalKey` is a subclass of Django’s `ForeignKey`, and takes the same arguments.
For example, the following inline model can be used to add related links (a list of name, url pairs) to the `BlogPage` model:
from django.db import models
from modelcluster.fields import ParentalKey
from wagtail.models import Orderable
class BlogPageRelatedLink(Orderable):
page \= ParentalKey(BlogPage, on\_delete\=models.CASCADE, related\_name\='related\_links')
name \= models.CharField(max\_length\=255)
url \= models.URLField()
panels \= \[\
FieldPanel('name'),\
FieldPanel('url'),\
\]
To add this to the admin interface, use the `InlinePanel` edit panel class:
content\_panels \= \[\
...\
\
InlinePanel('related\_links', label\="Related links"),\
\]
The first argument must match the value of the `related_name` attribute of the `ParentalKey`. For a brief description of parameters taken by `InlinePanel`, see [InlinePanel](https://docs.wagtail.org/en/v6.3.5/reference/pages/panels.html#inline-panels)
.
Re-using inline models across multiple page types[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#re-using-inline-models-across-multiple-page-types "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
In the above example, related links are defined as a child object on the `BlogPage` page type. Often, the same kind of inline child object will appear on several page types, and in these cases, it’s undesirable to repeat the entire model definition. This can be avoided by refactoring the common fields into an abstract model:
from django.db import models
from modelcluster.fields import ParentalKey
from wagtail.models import Orderable
\# The abstract model for related links, complete with panels
class RelatedLink(models.Model):
name \= models.CharField(max\_length\=255)
url \= models.URLField()
panels \= \[\
FieldPanel('name'),\
FieldPanel('url'),\
\]
class Meta:
abstract \= True
\# The real model which extends the abstract model with a ParentalKey relation back to the page model.
\# This can be repeated for each page type where the relation is to be added
\# (for example, NewsPageRelatedLink, PublicationPageRelatedLink and so on).
class BlogPageRelatedLink(Orderable,RelatedLink):
page \= ParentalKey(BlogPage, on\_delete\=models.CASCADE, related\_name\='related\_links')
Alternatively, if RelatedLink is going to appear on a significant number of the page types defined in your project, it may be more appropriate to set up a single `RelatedLink` model pointing to the base `wagtailcore.Page` model:
class RelatedLink(Orderable):
page \= ParentalKey("wagtailcore.Page", on\_delete\=models.CASCADE, related\_name\='related\_links')
name \= models.CharField(max\_length\=255)
url \= models.URLField()
panels \= \[\
FieldPanel('name'),\
FieldPanel('url'),\
\]
This will then make `related_links` available as a relation across all page types, although it will still only be editable on page types that include the `InlinePanel` in their panel definitions - for other page types, the set of related links will remain empty.
Working with pages[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#working-with-pages "Link to this heading")
----------------------------------------------------------------------------------------------------------------------
Wagtail uses Django’s [multi-table inheritance](https://docs.djangoproject.com/en/stable/topics/db/models/#meta-and-multi-table-inheritance "Django 5.2")
feature to allow multiple page models to be used in the same tree.
Each page is added to both Wagtail’s built-in [`Page`](https://docs.wagtail.org/en/v6.3.5/reference/pages/model_reference.html#wagtail.models.Page "wagtail.models.Page")
model as well as its user-defined model (such as the `BlogPage` model created earlier).
Pages can exist in Python code in two forms, an instance of `Page` or an instance of the page model.
When working with multiple page types together, you will typically use instances of Wagtail’s `Page` model, which don’t give you access to any fields specific to their type.
\# Get all pages in the database
\>>> from wagtail.models import Page
\>>> Page.objects.all()
\[, , , , \]
When working with a single page type, you can work with instances of the user-defined model. These give access to all the fields available in `Page`, along with any user-defined fields for that type.
\# Get all blog entries in the database
\>>> BlogPage.objects.all()
\[, \]
You can convert a `Page` object to its more specific user-defined equivalent using the `.specific` property. This may cause an additional database lookup.
\>>> page \= Page.objects.get(title\="A Blog post")
\>>> page
\# Note: the blog post is an instance of Page so we cannot access body, date or feed\_image
\>>> page.specific
Tips[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#tips "Link to this heading")
------------------------------------------------------------------------------------------
### Friendly model names[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#friendly-model-names "Link to this heading")
You can make your model names more friendly to users of Wagtail by using Django’s internal `Meta` class with a `verbose_name`, for example:
class HomePage(Page):
...
class Meta:
verbose\_name \= "homepage"
When users are given a choice of pages to create, the list of page types is generated by splitting your model names on each of their capital letters. Thus a `HomePage` model would be named “Home Page” which is a little clumsy. Defining `verbose_name` as in the example above would change this to read “Homepage”, which is slightly more conventional.
### Page QuerySet ordering[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#page-queryset-ordering "Link to this heading")
`Page`\-derived models _cannot_ be given a default ordering by using the standard Django approach of adding an `ordering` attribute to the internal `Meta` class.
class NewsItemPage(Page):
publication\_date \= models.DateField()
...
class Meta:
ordering \= ('-publication\_date', ) \# will not work
This is because `Page` enforces ordering QuerySets by path. Instead, you must apply the ordering explicitly when constructing a QuerySet:
news\_items \= NewsItemPage.objects.live().order\_by('-publication\_date')
### Custom Page managers[¶](https://docs.wagtail.org/en/v6.3.5/topics/pages.html#custom-page-managers "Link to this heading")
You can add a custom `Manager` to your `Page` class. Any custom Managers should inherit from `wagtail.models.PageManager`:
from django.db import models
from wagtail.models import Page, PageManager
class EventPageManager(PageManager):
""" Custom manager for Event pages """
class EventPage(Page):
start\_date \= models.DateField()
objects \= EventPageManager()
Alternately, if you only need to add extra `QuerySet` methods, you can inherit from `wagtail.models.PageQuerySet` to build a custom `Manager`:
from django.db import models
from django.utils import timezone
from wagtail.models import Page, PageManager, PageQuerySet
class EventPageQuerySet(PageQuerySet):
def future(self):
today \= timezone.localtime(timezone.now()).date()
return self.filter(start\_date\_\_gte\=today)
EventPageManager \= PageManager.from\_queryset(EventPageQuerySet)
class EventPage(Page):
start\_date \= models.DateField()
objects \= EventPageManager()
---
# How to set up Django Ninja — Wagtail Documentation 7.2.1 documentation
* * *
How to set up Django Ninja[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#how-to-set-up-django-ninja "Link to this heading")
==========================================================================================================================================================
While Wagtail provides a [built-in API module](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/index.html#api)
based on Django REST Framework, it is possible to use other API frameworks. Here is information on usage with [Django Ninja](https://django-ninja.dev/)
, an API framework built on Python type hints and [Pydantic](https://docs.pydantic.dev/latest/)
, which includes built-in support for OpenAPI schemas.
Basic configuration[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#basic-configuration "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------
Install `django-ninja`. Optionally you can also add `ninja` to your `INSTALLED_APPS` to avoid loading static files externally when using the OpenAPI documentation viewer.
### Create the API[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#create-the-api "Link to this heading")
We will create a new `api.py` module next to the existing `urls.py` file in the project root, instantiate the router.
\# api.py
from typing import Literal
from django.http import HttpRequest
from django.shortcuts import get\_object\_or\_404
from ninja import Field, ModelSchema, NinjaAPI
from wagtail.models import Page
api \= NinjaAPI()
Next, register the URLs so Django can route requests into the API. To test this is working, navigate to `/api/docs`, which displays the OpenAPI documentation (with no available endpoints yet).
\# urls.py
from .api import api
urlpatterns \= \[\
...\
\
path("api/", api.urls),\
\
...\
\
\# Ensure that the api line appears above the default Wagtail page serving route\
path("", include(wagtail\_urls)),\
\]
### Our first endpoint[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#our-first-endpoint "Link to this heading")
We will create a simple endpoint that returns a list of all pages in the site. We use the `@api.get` operation decorator to define what route the endpoint is available at, and how to format the response: here, using a custom schema we create.
\# api.py
class BasePageSchema(ModelSchema):
url: str \= Field(None, alias\="get\_url")
class Config:
model \= Page
model\_fields \= \[\
"id",\
"title",\
"slug",\
\]
@api.get("/pages/", response\=list\[BasePageSchema\])
def list\_pages(request: "HttpRequest"):
return Page.objects.live().public().exclude(id\=1)
Our custom `BasePageSchema` combines two techniques: [schema generation from Django models](https://django-ninja.dev/guides/response/django-pydantic/)
, and calculated fields with [aliases](https://django-ninja.dev/guides/response/#aliases)
. Here, we use an alias to retrieve the page URL.
We can also add an extra `child_of: int = None` parameter to our endpoint to filter the pages by their parent:
@api.get("/pages/", response\=list\[BasePageSchema\])
def list\_pages(request: "HttpRequest", child\_of: int \= None):
if child\_of:
return get\_object\_or\_404(Page, id\=child\_of).get\_children().live().public()
\# Exclude the page tree root.
return Page.objects.live().public().exclude(id\=1)
Ninja treats every parameter of the `list_pages` function as a query parameter. It uses the provided type hint to parse the value, validate it, and generate the OpenAPI schema.
### Adding custom page fields[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#adding-custom-page-fields "Link to this heading")
Next, let’s add a “detail” API endpoint to return a single page of a specific type. We can use the [path parameters](https://django-ninja.dev/guides/input/path-params/)
from Ninja to retrieve our `page_id`. We also create a new schema for a specific page type: here, `BlogPage`, with `BasePageSchema` as a base.
from blog.models import BlogPage
class BlogPageSchema(BasePageSchema, ModelSchema):
class Config(BasePageSchema.Config):
model \= BlogPage
model\_fields \= \[\
"intro",\
\]
@api.get("/pages/{page\_id}/", response\=BlogPageSchema)
def get\_page(request: "HttpRequest", page\_id: int):
return get\_object\_or\_404(Page, id\=page\_id).specific
This works well, with the endpoint now returning generic `Page` fields and the `BlogPage` introduction. But for sites where all page content is served via an API, it could become tedious to create new endpoints for every page type.
### Combining multiple schemas[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#combining-multiple-schemas "Link to this heading")
To reflect that our response may return multiple page types, we use the type hint union syntax to combine multiple schemas. This allows us to return different page types from the same endpoint. Here is an example with an additional schema for our `HomePage` type:
from home.models import HomePage
class HomePageSchema(BasePageSchema, ModelSchema):
class Config(BasePageSchema.Config):
model \= HomePage
@api.get("/pages/{page\_id}/", response\=BlogPageSchema | HomePageSchema)
def get\_page(request: "HttpRequest", page\_id: int):
return get\_object\_or\_404(Page, id\=page\_id).specific
With this in place, we are still missing a way to determine which of the schemas to use for a given page. We want to do this by page type, adding an extra `content_type` class attribute annotation to our schemas.
* For `BasePageSchema`, we define `content_type: str`, as any page type can use this base.
* For `HomePageSchema`, we set `content_type: Literal["homepage"]`.
* And for `BlogPageSchema`, we set `content_type: Literal["blogpage"]`.
All we need now is to add a [resolver](https://django-ninja.dev/guides/response/#resolvers)
calculated field to the `BasePageSchema`, to return the correct content type for each page. Here is the final version of `BasePageSchema`:
class BasePageSchema(ModelSchema):
url: str \= Field(None, alias\="get\_url")
content\_type: str
@staticmethod
def resolve\_content\_type(page: Page) \-> str:
return page.specific\_class.\_meta.model\_name
class Config:
model \= Page
model\_fields \= \[\
"id",\
"title",\
"slug",\
\]
With this in place, Pydantic is able to validate the page data returned in `get_page` according to one of the schemas in the `response` union. It then serializes the data according to the specific schema.
### Nested data[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#nested-data "Link to this heading")
Where the page schema references data in separate models, rather than creating new endpoints, we can add the data directly to the page schema. Here is an example, adding blog page authors (a snippet with a `ParentalManyToManyField`):
class BlogPageSchema(BasePageSchema, ModelSchema):
content\_type: Literal\["blogpage"\]
authors: list\[str\] \= \[\]
class Config(BasePageSchema.Config):
model \= BlogPage
model\_fields \= \[\
"intro",\
\]
@staticmethod
def resolve\_authors(page: BlogPage, context) \-> list\[str\]:
return \[author.name for author in page.authors.all()\]
This could also be done with the `Field` class if the `BlogPage` class had a method to retrieve author names directly: `authors: list[str] = Field([], alias="get_author_names")`.
### Rich text in the API[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#rich-text-in-the-api "Link to this heading")
Rich text fields in Wagtail use a specific internal format, described in [Rich text internals](https://docs.wagtail.org/en/v7.2.1/extending/rich_text_internals.html)
. They can be added to the schema as `str`, but it’s often more useful for the API to provide a “display” representation, where references to pages and images are replaced with URLs. This can also be done with [Ninja resolvers](https://django-ninja.dev/guides/response/#resolvers)
. Here is an example with the `HomePageSchema`:
from wagtail.rich\_text import expand\_db\_html
class HomePageSchema(BasePageSchema, ModelSchema):
content\_type: Literal\["homepage"\]
body: str
class Config(BasePageSchema.Config):
model \= HomePage
@staticmethod
def resolve\_body(page: HomePage, context) \-> str:
return expand\_db\_html(page.body)
Here, `body` is defined as a `str`, and the resolver uses the `expand_db_html` function to convert the internal representation to HTML.
### Images in the API[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#images-in-the-api "Link to this heading")
We can use a similar technique for images, combining resolvers and aliases to generate the data. We use the [`get_renditions()` method](https://docs.wagtail.org/en/v7.2.1/advanced_topics/images/renditions.html#image-renditions-multiple)
to retrieve the formatted images, and a custom `RenditionSchema` to define their API representation.
from wagtail.images.models import AbstractRendition
class RenditionSchema(ModelSchema):
\# We need to use the Field / alias API for properties
url: str \= Field(None, alias\="file.url")
alt: str \= Field(None, alias\="alt")
class Config:
model \= AbstractRendition
model\_fields \= \[\
"width",\
"height",\
\]
On the `BlogPageSchema`, we define our image field as: `main_image: list[RenditionSchema] = []`. Then add the resolver for it:
@staticmethod
def resolve\_main\_image(page: BlogPage) \-> list\[AbstractRendition\]:
filters \= \[\
"fill-800x600|format-webp",\
"fill-800x600",\
\]
if image := page.main\_image():
return image.get\_renditions(\*filters).values()
return \[\]
In JSON, our `main_image` is now represented as an array, where each item is an object with `url`, `alt`, `width`, and `height` properties.
OpenAPI documentation[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#openapi-documentation "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
Django Ninja generates [OpenAPI](https://swagger.io/specification/)
documentation automatically, based on the defined operations and schemas. This also includes a documentation viewer, with support to try out the API directly from the browser. With the above example, you can try accessing the docs at `/api/docs`.
To make the most of this capability, consider the supported [operations parameters](https://django-ninja.dev/reference/operations-parameters/)
.
---
# How to build custom StreamField blocks — Wagtail Documentation 7.2.1 documentation
* * *
How to build custom StreamField blocks[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#how-to-build-custom-streamfield-blocks "Link to this heading")
==================================================================================================================================================================================================
Custom editing interfaces for `StructBlock`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#custom-editing-interfaces-for-structblock "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To customize the styling of a `StructBlock` as it appears in the page editor, you can specify a `form_classname` attribute (either as a keyword argument to the `StructBlock` constructor, or in a subclass’s `Meta`) to override the default value of `struct-block`:
class PersonBlock(blocks.StructBlock):
first\_name \= blocks.CharBlock()
surname \= blocks.CharBlock()
photo \= ImageChooserBlock(required\=False)
biography \= blocks.RichTextBlock()
class Meta:
icon \= 'user'
form\_classname \= 'person-block struct-block'
You can then provide custom CSS for this block, targeted at the specified classname, by using the [insert\_global\_admin\_css](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#insert-global-admin-css)
hook.
Note
Wagtail’s editor styling has some built-in styling for the `struct-block` class and other related elements. If you specify a value for `form_classname`, it will overwrite the classes that are already applied to `StructBlock`, so you must remember to specify the `struct-block` as well.
If you want to add custom attributes other than `class` on a `StructBlock` in the page editor, you can specify a `form_attrs` attribute (either as a keyword argument to the `StructBlock` constructor, or in a subclass’s `Meta`) to add any additional attributes.
In addition, the `StructBlock`’s `Meta` class also accepts a `collapsed` attribute. When set to `True`, the block is initially displayed in a collapsed state in the editing interface. This can be useful for blocks with many sub-blocks, or blocks that are not expected to be edited frequently. Note that this only applies to `StructBlock` inside another `StructBlock`. If the `StructBlock` is within a `StreamBlock` or `ListBlock`, the initial state will follow the parent block’s `collapsed` option.
class SettingsBlock(blocks.StructBlock):
theme \= ChoiceBlock(
choices\=\[\
("banana", "Banana"),\
("cherry", "Cherry"),\
("lime", "Lime"),\
\],
required\=False,
default\="banana",
help\_text\="Select the theme for the block",
)
available \= blocks.BooleanBlock(
required\=False,
default\=True,
help\_text\="Whether this person is available",
)
class Meta:
icon \= 'cog'
\# This block will be initially collapsed
collapsed \= True
\# The block's summary label when collapsed
label\_format \= "Theme: {theme}, Available: {available}"
class PersonBlock(blocks.StructBlock):
first\_name \= blocks.CharBlock()
surname \= blocks.CharBlock()
photo \= ImageChooserBlock(required\=False)
biography \= blocks.RichTextBlock()
settings \= SettingsBlock()
class Meta:
icon \= 'user'
form\_attrs \= {
\# This block has additional customizations enabled
'data-controller': 'magic',
'data-action': 'click->magic#abracadabra',
}
For example, you can use the custom attributes to [attach Stimulus controllers](https://docs.wagtail.org/en/v7.2.1/extending/extending_client_side.html#extending-client-side-stimulus)
to the block.
Note
Any attributes in `form_attrs` will take precedence over the default attributes that Wagtail applies to `StructBlock` elements in the page editor, such as `class`.
For more extensive customizations that require changes to the HTML markup as well, you can override the `form_template` attribute in `Meta` to specify your own template path. The following variables are available on this template:
**`children`**
An `OrderedDict` of `BoundBlock`s for all of the child blocks making up this `StructBlock`.
**`help_text`**
The help text for this block, if specified.
**`classname`**
The class name passed as `form_classname` (defaults to `struct-block`).
**`collapsed`**
The initial collapsible state of the block (defaults to `False`).
**`block_definition`**
The `StructBlock` instance that defines this block.
**`prefix`**
The prefix used on form fields for this block instance, guaranteed to be unique across the form.
To add additional variables, you can override the block’s `get_form_context` method:
class PersonBlock(blocks.StructBlock):
first\_name \= blocks.CharBlock()
surname \= blocks.CharBlock()
photo \= ImageChooserBlock(required\=False)
biography \= blocks.RichTextBlock()
def get\_form\_context(self, value, prefix\='', errors\=None):
context \= super().get\_form\_context(value, prefix\=prefix, errors\=errors)
context\['suggested\_first\_names'\] \= \['John', 'Paul', 'George', 'Ringo'\]
return context
class Meta:
icon \= 'user'
form\_template \= 'myapp/block\_forms/person.html'
A form template for a StructBlock must include the output of `render_form` for each child block in the `children` dict, inside a container element with a `data-contentpath` attribute equal to the block’s name. This attribute is used by the commenting framework to attach comments to the correct fields. The StructBlock’s form template is also responsible for rendering labels for each field, but this (and all other HTML markup) can be customized as you see fit. The template below replicates the default StructBlock form rendering:
{% load wagtailadmin\_tags %}
{% if help\_text %}
{% icon name\="help" classname\="default" %}
{{ help\_text }}
{% endif %}
{% for child in children.values %}
{% if child.block.label %}
{{ child.block.label }}{% if child.block.required %}\* {% endif %}
{% endif %}
{{ child.render\_form }}
{% endfor %}
Additional JavaScript on `StructBlock` forms[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#additional-javascript-on-structblock-forms "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Often it may be desirable to attach custom JavaScript behavior to a StructBlock form. For example, given a block such as:
class AddressBlock(StructBlock):
street \= CharBlock()
town \= CharBlock()
state \= CharBlock(required\=False)
country \= ChoiceBlock(choices\=\[\
('us', 'United States'),\
('ca', 'Canada'),\
('mx', 'Mexico'),\
\])
we may wish to disable the ‘state’ field when a country other than United States is selected. Since new blocks can be added dynamically, we need to integrate with StreamField’s own front-end logic to ensure that our custom JavaScript code is executed when a new block is initialized.
StreamField uses the [telepath](https://wagtail.github.io/telepath/)
library to map Python block classes such as `StructBlock` to a corresponding JavaScript implementation. These JavaScript implementations can be accessed through the `window.wagtailStreamField.blocks` namespace, as the following classes:
* `FieldBlockDefinition`
* `ListBlockDefinition`
* `StaticBlockDefinition`
* `StreamBlockDefinition`
* `StructBlockDefinition`
First, we define a telepath adapter for `AddressBlock`, so that it uses our own JavaScript class in place of the default `StructBlockDefinition`. This can be done in the same module as the `AddressBlock` definition:
from wagtail.blocks.struct\_block import StructBlockAdapter
from wagtail.admin.telepath import register
from django import forms
from django.utils.functional import cached\_property
class AddressBlockAdapter(StructBlockAdapter):
js\_constructor \= 'myapp.blocks.AddressBlock'
@cached\_property
def media(self):
structblock\_media \= super().media
return forms.Media(
js\=structblock\_media.\_js + \['js/address-block.js'\],
css\=structblock\_media.\_css
)
register(AddressBlockAdapter(), AddressBlock)
Changed in version 7.1: The `register` function should now be imported from `wagtail.admin.telepath` rather than `wagtail.telepath`.
Here `'myapp.blocks.AddressBlock'` is the identifier for our JavaScript class that will be registered with the telepath client-side code, and `'js/address-block.js'` is the file that defines it (as a path within any static file location recognized by Django). This implementation subclasses StructBlockDefinition and adds our custom code to the `render` method:
class AddressBlockDefinition extends window.wagtailStreamField.blocks
.StructBlockDefinition {
render(placeholder, prefix, initialState, initialError) {
const block \= super.render(
placeholder,
prefix,
initialState,
initialError,
);
const stateField \= document.getElementById(prefix + '-state');
const countryField \= document.getElementById(prefix + '-country');
const updateStateInput \= () \=> {
if (countryField.value \== 'us') {
stateField.removeAttribute('disabled');
} else {
stateField.setAttribute('disabled', true);
}
};
updateStateInput();
countryField.addEventListener('change', updateStateInput);
return block;
}
}
window.telepath.register('myapp.blocks.AddressBlock', AddressBlockDefinition);
Additional methods and properties on `StructBlock` values[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#additional-methods-and-properties-on-structblock-values "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When rendering StreamField content on a template, StructBlock values are represented as `dict`\-like objects where the keys correspond to the names of the child blocks. Specifically, these values are instances of the class `wagtail.blocks.StructValue`.
Sometimes, it’s desirable to make additional methods or properties available on this object. For example, given a StructBlock that represents either an internal or external link:
class LinkBlock(StructBlock):
text \= CharBlock(label\="link text", required\=True)
page \= PageChooserBlock(label\="page", required\=False)
external\_url \= URLBlock(label\="external URL", required\=False)
you may want to make a `url` property available, that returns either the page URL or external URL depending on which one was filled in. A common mistake is to define this property on the block class itself:
class LinkBlock(StructBlock):
text \= CharBlock(label\="link text", required\=True)
page \= PageChooserBlock(label\="page", required\=False)
external\_url \= URLBlock(label\="external URL", required\=False)
@property
def url(self): \# INCORRECT - will not work
return self.external\_url or self.page.url
This does not work because the value as seen in the template is not an instance of `LinkBlock`. `StructBlock` instances only serve as specifications for the block’s behavior, and do not hold block data in their internal state - in this respect, they are similar to Django’s form widget objects (which provide methods for rendering a given value as a form field, but do not hold on to the value itself).
Instead, you should define a subclass of `StructValue` that implements your custom property or method. Within this method, the block’s data can be accessed as `self['page']` or `self.get('page')`, since `StructValue` is a dict-like object.
from wagtail.blocks import StructValue
class LinkStructValue(StructValue):
def url(self):
external\_url \= self.get('external\_url')
page \= self.get('page')
return external\_url or page.url
Once this is defined, set the block’s `value_class` option to instruct it to use this class rather than a plain StructValue:
class LinkBlock(StructBlock):
text \= CharBlock(label\="link text", required\=True)
page \= PageChooserBlock(label\="page", required\=False)
external\_url \= URLBlock(label\="external URL", required\=False)
class Meta:
value\_class \= LinkStructValue
Your extended value class methods will now be available in your template:
{% for block in page.body %}
{% if block.block\_type \== 'link' %}
{{ link.value.text }}
{% endif %}
{% endfor %}
Custom block types[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#custom-block-types "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------
If you need to implement a custom UI, or handle a datatype that is not provided by Wagtail’s built-in block types (and cannot be built up as a structure of existing fields), it is possible to define your own custom block types. For further guidance, refer to the source code of Wagtail’s built-in block classes.
For block types that simply wrap an existing Django form field, Wagtail provides an abstract class `wagtail.blocks.FieldBlock` as a helper. Subclasses should set a `field` property that returns the form field object:
class IPAddressBlock(FieldBlock):
def \_\_init\_\_(self, required\=True, help\_text\=None, \*\*kwargs):
self.field \= forms.GenericIPAddressField(required\=required, help\_text\=help\_text)
super().\_\_init\_\_(\*\*kwargs)
Since the StreamField editing interface needs to create blocks dynamically, certain complex widget types will need additional JavaScript code to define how to render and populate them on the client-side. If a field uses a widget type that does not inherit from one of the classes inheriting from `django.forms.widgets.Input`, `django.forms.Textarea`, `django.forms.Select` or `django.forms.RadioSelect`, or has customized client-side behavior to the extent where it is not possible to read or write its data simply by accessing the form element’s `value` property, you will need to provide a JavaScript handler object, implementing the methods detailed on [Form widget client-side API](https://docs.wagtail.org/en/v7.2.1/reference/streamfield/widget_api.html#streamfield-widget-api)
.
Handling block definitions within migrations[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/streamfield_blocks.html#handling-block-definitions-within-migrations "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
As with any model field in Django, any changes to a model definition that affect a StreamField will result in a migration file that contains a ‘frozen’ copy of that field definition. Since a StreamField definition is more complex than a typical model field, there is an increased likelihood of definitions from your project being imported into the migration – which would cause problems later on if those definitions are moved or deleted.
To mitigate this, StructBlock, StreamBlock, and ChoiceBlock implement additional logic to ensure that any subclasses of these blocks are deconstructed to plain instances of StructBlock, StreamBlock and ChoiceBlock – in this way, the migrations avoid having any references to your custom class definitions. This is possible because these block types provide a standard pattern for inheritance, and know how to reconstruct the block definition for any subclass that follows that pattern.
If you subclass any other block class, such as `FieldBlock`, you will need to either keep that class definition in place for the lifetime of your project, or implement a [custom deconstruct method](https://docs.djangoproject.com/en/stable/topics/migrations/#custom-deconstruct-method "Django 5.2")
that expresses your block entirely in terms of classes that are guaranteed to remain in place. Similarly, if you customize a StructBlock, StreamBlock, or ChoiceBlock subclass to the point where it can no longer be expressed as an instance of the basic block type – for example, if you add extra arguments to the constructor – you will need to provide your own `deconstruct` method.
---
# Third-party tutorials — Wagtail Documentation 7.2.1 documentation
* * *
Third-party tutorials[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/third_party_tutorials.html#third-party-tutorials "Link to this heading")
=====================================================================================================================================================
Warning
The following list is a collection of tutorials and development notes from third-party developers. Some of the older links may not apply to the latest Wagtail versions.
* [HTML and Wagtail CMS quickstart guide](https://jackwhitworth.com/blog/htmx-and-wagtail-cms-quickstart/)
(28 August 2025)
* [PostgreSQL Tutorial: Install Wagtail and connect it to your service using OVHcloud](https://support.us.ovhcloud.com/hc/en-us/articles/21458794389139-PostgreSQL-Tutorial-Install-Wagtail-and-connect-it-to-your-service)
(17 July 2025)
* [Efficient parent/child page querying in Wagtail](https://jackwhitworth.com/blog/efficient-wagtail-page-querying/)
(17 July 2025)
* [Writing a Minimal Wagtail, Poetry & Node Dockerfile](https://jackwhitworth.com/blog/writing-a-minimal-wagtail-poetry-node-dockerfile/)
(8 April 2025)
* [Master Wagtail CMS and Tailwind CSS to build a beautiful blog (video)](https://www.youtube.com/watch?v=ML2e_HVfgEA)
(23 March 2025)
* [Practical tips to Streamline Your Wagtail CMS Development](https://profil-software.com/blog/development/5-tips-to-streamline-your-wagtail-cms-development/)
(2 March 2025)
* [Create a blog in Django with Wagtail (video series)](https://youtube.com/playlist?list=PL5E1F5cTSTtTpsD-0guoh6gdIpLQrYtR-&si=ZYMK7TGMuRy1FkWm)
(20 January 2025)
* [Finding (StreamField) Blocks Across a Wagtail Site](https://code.informatikamihelac.com/en/finding-blocks-across-a-wagtail-site/)
(6 December 2024)
* [Blog Site with Django + Wagtail CMS - Beginner Friendly Guide (video)](https://www.youtube.com/watch?v=xzdPGUDBslk)
(25 November 2024)
* [Setting up Wagtail on Docker with PostgreSQL](https://dev.to/hari_shanmugam/wagtail-on-docker-2dfb)
(24 November 2024)
* [Importing and Synchronizing Pages with Wagtail and Wagtail Localize](https://code-on.be/en/blog/how-to-import-your-existing-translated-content-with-wagtail-localize/)
(20 November 2024)
* [How to Build No-Code Modal Components for Wagtail CMS Content Editors](https://blog.adonissimo.com/how-to-build-no-code-modal-components-for-wagtail-cms-content-editors)
(17 November 2024)
* [How to Set Up GDPR-Compliant Analytics in Wagtail CMS: Cookie Consent with Clarity and Google Analytics](https://blog.adonissimo.com/how-to-set-up-gdpr-compliant-analytics-in-wagtail-cms-cookie-consent-with-clarity-and-google-analytics)
(10 November 2024)
* [Adding Wagtail to a Django project to support content](https://medium.com/@zalun/base-6-wagtail-cms-for-the-content-f60d8ec7ac9e)
(29 September 2024)
* [How to programmatically create a page translation](https://dev.to/k4ml/wagtail-programmatically-create-page-translation-2814)
(30 September 2024)
* [A simple block pattern for Wagtail CMS](https://lincolnloop.com/insights/simple-block-pattern-wagtail-cms/)
(29 August 2024)
* [Django and Wagtail site building comparison tutorial video](https://www.youtube.com/watch?v=qodE7XyWCVw)
(9 July 2024)
* [An introduction to Wagtail tutorial](https://medium.com/@dogung51290/wagtail-cms-tutorial-5bd39e08ad44)
(17 June 2024)
* [Unleashing the Power of Custom Wagtail Models](https://www.linkedin.com/pulse/unleashing-power-custom-wagtail-models-kgothatso-phooko-70tcf)
(9 June 2024)
* [Deploying Wagtail on Divio](https://docs.divio.com/en/latest/introduction/wagtail/)
(~June 2024)
* [How to Deploy Wagtail To AWS EC2 and Digital Ocean](https://appliku.com/post/how-deploy-wagtail-aws-ec2-and-digital-ocean/)
(12 May 2024)
* [Upgrading Wagtail (from 2.5 to 6.0)](https://learnwagtail.com/blog/category/upgrading-wagtail/)
(18 April 2024)
* [Using Wagtail Form Templates in Software Development Projects](https://devcodef1.com/news/1211030/wagtail-form-templates-in-sd-projects)
(9 April 2024)
* [Build an Intuitive Link StructBlock in Wagtail: Simplifying Link Management for Content Editors](https://enzedonline.com/en/tech-blog/build-an-intuitive-link-structblock-in-wagtail-simplifying-link-management-for-content-editors/)
(9 March 2024)
* [Improving Wagtail Richtext Block Revision Diffing](https://onexception.dev/news/1166572/wagtail-richtext-block-revision-diffing)
(6 March 2024)
* [Wagtail StreamField - Propagating the `required` Attribute on Nested Blocks](https://enzedonline.com/en/tech-blog/wagtail-streamfields-propagating-the-required-attribute-on-nested-blocks/)
(20 February 2024)
* [An overview of a Wagtail website stack](https://learnwagtail.com/blog/a-peek-inside-our-tech-stack/)
(15 February 2024)
* [Efficient Cascading Choices in Wagtail Admin: A Smart Chooser Panel Solution](https://enzedonline.com/en/tech-blog/efficient-cascading-choices-in-wagtail-admin-a-smart-chooser-panel-solution/)
(27 January 2024)
* [How to add an edit link to `wagtail-autocomplete` items](https://dev.to/ordigital/how-to-add-edit-link-in-wagtail-autocomplete-4kg1)
(30 January 2024)
* [Deploying Django/Wagtail on Ubuntu with Gunicorn and Nginx](https://serverguy.dev/web-server/deploying-django-wagtail-on-ubuntu-with-gunicorn-and-nginx/)
(24 January 2024)
* [Programmatically Creating a Wagtail page with StreamField](https://usercomp.com/news/1080620/create-wagtail-page-programmatically)
(19 December 2023)
* [Adding reCAPTCHA V3 to Wagtail’s Form Builder Pages](https://enzedonline.com/en/tech-blog/protecting-your-django-forms-implementing-google-recaptcha-v3-for-enhanced-security/)
(19 December 2023)
* [Guide for managing a complex multi-tenancy setup with Wagtail](https://cynthiakiser.com/blog/2023/11/01/multitenancy-with-wagtail.html)
(1 November 2023)
* [Wagtail tutorial video series, getting started through to e-commerce integration with PayPal](https://www.youtube.com/playlist?list=PLl5rkhS-ZxnePQpI2Ty63hpAvfUTrqdt1)
(1 November 2023)
* [Integrating Next.js and Wagtail: Building a Headless, Content-Driven Website](https://blog.traleor.com/headless-nextjs-wagtail/)
(21 October 2023)
* [Wagtail tutorial video series, building a blog](https://www.youtube.com/playlist?list=PLeLGN29skXLpaaSZXRkIMzNAOCPyemCve)
(1 October 2023)
* [Deploy Wagtail CMS to PythonAnywhere using git push to a bare repo](https://www.nickmoreton.co.uk/articles/deploy-wagtail-cms-to-pythonanywhere/)
(27 September 2023)
* [Building a custom Django command to check all admin pages are loading correctly in Wagtail](https://www.nickmoreton.co.uk/articles/wagtail-response-checker/)
(1 September 2023)
* [Integrating ChatGPT with Wagtail for efficient content generation](https://octave.nz/post/integrating-chatgpt-with-wagtail-for-efficient-content-generation-and-content-management)
(15 August 2023)
* [Creating Wagtail StreamField StructBlocks with a Customised Editor Interface](https://enzedonline.com/en/tech-blog/how-to-create-wagtail-streamfield-structblocks-with-a-customised-editor-interface/)
(9 July 2023)
* [Wagtail on Cloud Run](https://codelabs.developers.google.com/codelabs/cloud-run-wagtail/#0)
(26 June 2023)
* [How to create a custom Wagtail CMS page type?](https://itcertifications.medium.com/how-to-create-a-custom-wagtail-cms-page-type-7bf72aff8413)
(29 June 2023)
* [Create Stylish Wagtail Pages with Tailwind CSS](https://www.accordbox.com/blog/create-stylish-wagtail-pages-with-tailwind-css/)
(15 June 2023)
* [Backup and Restore a Wagtail CMS website](https://experiencednovice.dev/blog/wagtail-backup-and-restore/)
(26 May 2023)
* [A guide for updating Wagtail CMS](https://experiencednovice.dev/blog/updating-wagtailcms/)
(22 May 2023)
* [Creating Custom Choosers with Viewsets](https://enzedonline.com/en/tech-blog/wagtail-creating-custom-choosers-with-viewsets/)
(18 April 2023)
* [Build a Website Without Any Coding with Traleor (& Wagtail) in Just 10 Minutes (video)](https://www.youtube.com/watch?v=IQY0dzo2Wzg)
(19 March 2023)
* [Getting Started with Wagtail: A Beginner’s Installation Guide (Windows)](https://medium.com/@dencomac/getting-started-with-wagtail-a-beginners-installation-guide-a5671da1eccc)
(9 March 2023)
* [Introduction to Stimulus in Wagtail for contributors (video)](https://youtu.be/5WS7B8R0x0U)
(28 February 2023)
* [How to pick a good Wagtail package](https://wagtail.org/blog/pick-out-packages/)
(1 February 2023)
* [Dockerized Wagtail 4 + NuxtJS 3 + Graphene 3 + Vuetify 3 (with template)](https://dev.to/ordigital/dockerized-wagtail-4-nuxtjs-3-graphene-3-vuetify-3-1n8m)
(26 January 2023)
* [Wagtail: Extending the Draftail Editor Part 4 - Custom Lists](https://enzedonline.com/en/tech-blog/wagtail-extending-the-draftail-editor-part-4-custom-lists/)
(29 December 2022)
* [Making Wagtail pages more SEO friendly with Wagtail Metadata](https://enzedonline.com/en/tech-blog/making-wagtail-pages-more-seo-friendly-with-wagtail-metadata/)
(24 December 2022)
* [Configuring a Dynamic Sitemap on Wagtail](https://enzedonline.com/en/tech-blog/configuring-a-dynamic-sitemap-on-wagtail/)
(22 December 2022)
* [Deploying Wagtail to Google’s Cloud Run](https://codelabs.developers.google.com/codelabs/cloud-run-wagtail)
(7 December 2022)
* [Tutorial: Build a Wagtail blog in 20 minutes](https://codewithstein.com/django-wagtail-cms-building-a-blog-in-20-minutes/)
(5 December 2022)
* [Headless Wagtail and Next.js preview mode](https://medium.com/@yaroslavdraha/headless-wagtail-and-next-js-preview-mode-f6f29c944830)
(25 November 2022)
* [A Step-by-Step Guide on Installing the Wagtail Codebase on a Local Machine for Contribution (video)](https://www.youtube.com/watch?v=XAjQ4XN0qLs)
(19 November 2022)
* [How we created the new Wagtail.org](https://wagtail.org/blog/how-we-created-the-new-wagtailorg/)
(16 November 2022)
* [Build a Blog With Wagtail CMS (4.0.0) Released](https://www.accordbox.com/blog/build-blog-with-wagtail-cms-400-released/)
(7 November 2022)
* [Create a custom Wagtail Image filter for Thumbnails with Preserved Edges](https://enzedonline.com/en/tech-blog/create-image-thumbnails-with-preserved-edges-using-python-image-library/)
(4 November 2022)
* [Static-Dynamic Content With In-Memory SQLite using Wagtail](https://aeracode.org/2022/11/03/static-dynamic-in-memory-sqlite/)
(3 November 2022)
* [A Step-by-Step Guide for Manually Setting up Bakery Demo with Wagtail](https://juliet.hashnode.dev/a-step-by-step-guide-for-manually-setting-up-bakery-demo-with-wagtail)
(18 November 2022)
* [Integrating Sa11y accessibility checker into a Wagtail website (video)](https://www.youtube.com/watch?v=NEQVoFEHjJk)
(26 October 2022)
* [Wagtail: Extending the Draftail Editor Part 3 - Dynamic Text](https://enzedonline.com/en/tech-blog/wagtail-extending-the-draftail-editor-part-3-dynamic-text/)
(21 October 2022)
* [What’s this? A new website? - Explainer for building a new website with Wagtail](https://theorangeone.net/posts/whats-this-a-new-website/)
(10 October 2022)
* [Guide to integrate Wagtail CRX with a Snipcart storefront](https://github.com/justicepelteir/wagtail_crx_snipcart_storefront)
(9 October 2022)
* [Adding featured events to the HomePage with Wagtail 4.0 (video)](https://www.youtube.com/watch?v=opQ_ktAXplo)
(6 October 2022)
* [Wagtail: Extending the Draftail Editor Part 2 - Block Styles](https://enzedonline.com/en/tech-blog/wagtail-extending-the-draftail-editor-part-2-block-styles/)
(5 October 2022)
* [Wagtail: Extending the Draftail Editor Part 1 - Inline Styles](https://enzedonline.com/en/tech-blog/wagtail-extending-the-draftail-editor-part-1-inline-styles/)
(5 October 2022)
* [Creating an interactive event budgeting tool within Wagtail](https://dev.to/lb/creating-an-interactive-event-budgeting-tool-within-wagtail-53b3)
(4 October 2022)
* [Configuring Rich Text Blocks for Your Wagtail Site](https://enzedonline.com/en/tech-blog/configuring-rich-text-blocks-for-your-wagtail-site/)
(26 September 2022)
* [Deploy Django Wagtail to Render](https://stackingtabs.medium.com/deploy-django-wagtail-to-render-7d33c4b09bf9)
(23 September 2022)
* [Using a migration to apply permissions to Wagtail snippets](https://sixfeetup.com/blog/a-look-at-using-wagtail-snippets-with-django)
(7 September 2022)
* [Deploying a Wagtail site to Fly.io - Part 1 of 5](https://usher.dev/posts/wagtail-on-flyio/part-1/)
(30 August 2022)
* [Django Wagtail CMS | Building A Blog In 20 Minutes (video)](https://www.youtube.com/watch?v=mbUFWkZAm8w)
(12 August 2022)
* [Hosting a Wagtail site on Digital Ocean with CapRover](https://medium.com/@Gidsey/hosting-a-wagtail-site-on-digital-ocean-with-caprover-e71306e8d053)
(21 July 2022)
* [Add Heading Blocks with Bookmarks in Wagtail](https://enzedonline.com/en/tech-blog/how-to-add-heading-blocks-with-bookmarks-in-wagtail/)
(5 July 2022)
* [Import files into Wagtail](https://cynthiakiser.com/blog/2022/07/02/import-files-into-wagtail.html)
(2 July 2022)
* [Adding MapBox Blocks to Wagtail Stream Fields](https://enzedonline.com/en/tech-blog/adding-mapbox-blocks-to-wagtail-stream-fields/)
(19 June 2022)
* [5 Tips to Streamline Your Wagtail CMS Development](https://profil-software.com/blog/development/5-tips-to-streamline-your-wagtail-cms-development/)
(14 June 2022)
* [Wagtail 3 Upgrade: Per Site Features](https://cynthiakiser.com/blog/2022/06/02/wagtail-3-upgrade-part-2.html)
(2 June 2022)
* [Wagtail 3 Upgrade: Per User FieldPanel Permissions](https://cynthiakiser.com/blog/2022/06/01/wagtail-3-upgrade-part-1.html)
(1 June 2022)
* [Upgrading to Wagtail 3.0](https://enzedonline.com/en/tech-blog/upgrading-to-wagtail-3-0/)
(3 May 2022)
* [Django for E-Commerce: A Developers Guide (with Wagtail CMS Tutorial) - Updated](https://snipcart.com/blog/django-ecommerce-tutorial-wagtail-cms)
(21 March 2022)
* [How to install Wagtail on Ubuntu 20.04|22.04](https://nextgentips.com/2022/03/01/how-to-install-wagtail-on-ubuntu-20-0422-04/)
(1 March 2022)
* [Building a blog with Wagtail (tutorial part 1 of 2)](https://paulgrajewski.medium.com/wagtail-blog-part-1-ad0df1c59f4)
(27 February 2022); [part 2 of 2](https://paulgrajewski.medium.com/wagtail-blog-part-2-3fe698e38983)
(6 March 2022)
* [Creating a schematic editor within Wagtail CMS with StimulusJS](https://dev.to/lb/creating-a-schematic-editor-within-the-wagtail-cms-with-stimulusjs-n5j)
(20 February 2022)
* [Adding Placeholder Text to Wagtail Forms](https://www.coderedcorp.com/blog/adding-placeholder-text-to-wagtail-forms/)
(11 February 2022)
* [Deploying a Wagtail 2.16 website to Heroku](https://dev.to/kalobtaulien/deploying-a-wagtail-216-website-to-heroku-1iki)
(9 February 2022)
* [Build an E-Commerce Site with Wagtail CMS, Bootstrap & Django Framework](https://dev.to/paulwababu/build-an-e-commerce-site-with-wagtail-cms-bootstrap-django-framework-4jdb)
(7 February 2022)
* [Complex Custom Field Pagination in Django (Wagtail)](https://rentfree.media/posts/wagtail/pagination/django/2022-02-03-hacking-the-django-paginator.html)
(3 February 2022)
* [How to Connect Wagtail and React](https://stackingtabs.medium.com/how-to-connect-wagtail-and-react-7f6d1adf230)
(31 January 2022)
* [Wagtail: Dynamically Adding Admin Menu Items](https://cynthiakiser.com/blog/2022/01/25/dynamically-adding-menu-items-in-the-wagtail-admin.html)
(25 January 2022)
* [Headless Wagtail, what are the pain points? (with solutions)](https://tommasoamici.com/blog/headless-wagtail-what-are-the-pain-points)
(24 January 2022)
* [A collection of UIKit components that can be used as a Wagtail StreamField block](https://pythonawesome.com/a-collection-of-uikit-components-that-can-be-used-as-a-wagtail-streamfield-block/)
(14 January 2022)
* [Introduction to Wagtail CMS](https://blog.reallyroxanna.codes/introduction-to-wagtail-cms)
(1 January 2022)
* [How to make Wagtail project have good coding style](https://www.accordbox.com/blog/how-to-make-wagtail-project-have-good-coding-style/)
(18 December 2021)
* [Wagtail: The Django newcomer - German](https://cmsstash.de/cms-reviews/wagtail)
(13 December 2021)
* [Create a Developer Portfolio with Wagtail Part 10: Dynamic Site Settings](https://engineertodeveloper.com/wagtail-dynamic-site-settings/)
(3 December 2021)
* [Dockerize Wagtail CMS for your development environment](https://jortdevreeze.com/en/blog/dockerize-wagtail-cms-for-your-development-environment/)
(29 November 2021)
* [How To Add an Email Newsletter to Wagtail](https://engineertodeveloper.com/how-to-add-an-email-newsletter-to-wagtail/)
(25 November 2021)
* [Dealing with UNIQUE Fields on a Multi-lingual Site](https://enzedonline.com/en/tech-blog/dealing-with-unique-fields-on-a-multi-lingual-site/)
(6 November 2021)
* [General Wagtail Tips & Ticks](https://github.com/spapas/wagtail-faq)
(26 October 2021)
* [Branching workflows in Wagtail](https://github.com/engineervix/wagtail-branching-workflows)
(12 October 2021)
* [Wagtail is the best python CMS in our galaxy - Russian](https://habr.com/ru/post/582898/)
(12 October 2021)
* [Adding Tasks with a Checklist to Wagtail Workflows](https://dev.to/lb/adding-tasks-with-a-checklist-to-wagtail-workflows-29b8)
(22 September 2021)
* [How to create a Zen (Focused) mode for the Wagtail CMS admin](https://dev.to/lb/how-to-create-a-zen-focused-mode-for-the-wagtail-cms-admin-3ipk)
(5 September 2021)
* [Deploying Wagtail on Divio](https://docs.divio.com/en/latest/introduction/wagtail/)
(~September 2021)
* [How to Install Wagtail on Shared Hosting without Root (CPanel)](https://chemicloud.com/kb/article/install-wagtail-without-root-access/)
(26 August 2021)
* [Django for E-Commerce: A Developers Guide (with Wagtail CMS Tutorial)](https://dev.to/realguillaume/django-for-e-commerce-a-developers-guide-with-wagtail-cms-tutorial-57on)
(26 August 2021)
* [How to create a Kanban (Trello style) view of your ModelAdmin data in Wagtail](https://dev.to/lb/how-to-create-a-kanban-trello-style-view-of-your-modeladmin-data-in-wagtail-20eg)
(20 August 2021)
* [eBook: The Definitive Guide to Next.js and Wagtail](https://www.accordbox.com/blog/ebook-the-definitive-guide-to-nextjs-and-wagtail/)
(19 August 2021)
* [How to build an interactive guide for users in the Wagtail CMS admin](https://dev.to/lb/how-to-build-an-interactive-guide-for-users-in-the-wagtail-cms-admin-2dcp)
(19 August 2021)
* [Add Custom User Model (with custom fields like phone no, profile picture) to django or wagtail sites](https://medium.com/@altaf008bd/wagtail-add-custom-fields-including-image-to-custom-user-model-1c976ddbc24)
(16 August 2021)
* [File size limits in Nginx and animated GIF support](https://www.meagenvoss.com/blog/random-wagtail-thing-i-learned-file-size-limits-in-nginx-and-animated-gif-support/)
(14 August 2021)
* [Deploying Wagtail site on Digital Ocean](https://www.craftplustech.com/blog/deploying-wagtail-site-on-digital-ocean/)
(11 August 2021)
* [Multi-language Wagtail websites with XLIFF](https://www.fourdigits.nl/blog/multi-language-wagtail-websites-with-xliff/)
(21 June 2021)
* [Add & Configure Mail in Django (or Wagtail) using Sendgrid](https://mpettersson.com/blog/how-to-add-and-configure-a-mail-service-in-django-or-wagtail/)
(28 May 2021)
* [Advanced Django Development: How to build a professional CMS for any business? (3 part tutorial)](https://medium.com/engineerx/advanced-django-development-how-to-build-a-professional-cms-for-any-business-part-1-9859cb5b4d24)
(2 April 2021)
* [Matomo Analytics with WagtailCMS](https://experiencednovice.dev/blog/matomo-analytics-with-wagtailcms/)
(31 March 2021)
* [Dockerizing a Wagtail App](https://www.accordbox.com/blog/dockerizing-wagtail-app/)
(16 March 2021)
* [Deploying Wagtail on CentOS8 with MariaDB/Nginx/Gunicorn](https://experiencednovice.dev/blog/deploying-wagtail-on-centos8/)
(7 March 2021)
* [How to add a List of Related Fields to a Page](https://learningtofly.dev/blog/wagtail-how-to-add-a-list-of-related-fields-to-a-page)
(6 March 2021)
* [Wagtail - `get_absolute_url`, without domain](https://kuttler.eu/code/wagtail-get_absolute_url-without-domain/)
(3 March 2021)
* [How To Alternate Blocks in Your Django & Wagtail Templates](https://www.coderedcorp.com/blog/how-to-alternate-blocks-in-your-templates/)
(19 February 2021)
* [Build a Blog With Wagtail CMS (second version)](https://www.accordbox.com/blog/build-blog-wagtail-cms-second-version-available/)
(13 January 2021)
* [Migrate your Wagtail Website from wagtailtrans to the new wagtail-localize](https://www.cnc.io/en/blog/wagtailtrans-to-wagtail-localize-migration)
(10 January 2021)
* [How to Use the Wagtail CMS for Django: An Overview](https://steelkiwi.com/blog/how-to-use-the-wagtail-cms-for-django-an-overview/)
(21 December 2020)
* [Wagtail `modeladmin` and a dynamic panels list](https://kuttler.eu/code/wagtail-modeladmin-and-dynamic-panels-list/)
(14 December 2020)
* [Install and Deploy Wagtail CMS on pythonanywhere.com](https://www.theinsidetrade.com/blog/install-and-deploy-wagtail-cms-pythonanywherecom/)
(14 December 2020)
* [Overriding the admin CSS in Wagtail](https://www.yellowduck.be/posts/overriding-the-admin-css-in-wagtail/)
(4 December 2020)
* [Migrating your Wagtail site to a different database engine](https://www.yellowduck.be/posts/migrating-your-wagtail-site-to-a-different-database-engine/)
(3 December 2020)
* [Wagtail for Django Devs: Create a Developer Portfolio](https://dev.to/brian101co/wagtail-for-django-devs-create-a-developer-portfolio-5e75)
(30 November 2020)
* [Create a Developer Portfolio with Wagtail Tutorial Series](https://engineertodeveloper.com/category/wagtail/)
(11 November 2020)
* [Wagtail Instagram New oEmbed API](https://www.codista.com/en/blog/wagtail-instagram-new-oembed-api/)
(5 November 2020)
* [Image upload in Wagtail forms](https://dev.to/lb/image-uploads-in-wagtail-forms-39pl)
(21 October 2020)
* [Adding a timeline of your Wagtail Posts](https://spapas.github.io/2020/09/18/wagtail-add-posts-timeline/)
(18 September 2020)
* [How to create amazing SSR website with Wagtail 2 + Vue 3](https://dev.to/robert197/how-to-create-amazing-ssr-website-with-wagtail-2-vue-3-463j)
(1 September 2020)
* [Migrate Wagtail Application Database from SQLite to PostgreSQL](https://medium.com/@ochieng.grace/migrate-wagtail-application-database-from-sqlite-to-postgresql-32f705f2f5f4)
(5 June 2020)
* [How to Build Scalable Websites with Wagtail and Nuxt](https://devs-group.medium.com/why-our-websites-stay-ahead-c608e3f4bea4)
(14 May 2020)
* [Wagtail multi-language and internationalization](https://dev.to/codista_/wagtail-multi-language-and-internationalization-2gkf)
(8 April 2020)
* [Wagtail SEO Guide](https://www.accordbox.com/blog/wagtail-seo-guide/)
(30 March 2020)
* [Adding a latest-changes list to your Wagtail site](https://spapas.github.io/2020/03/27/wagtail-add-latest-changes/)
(27 March 2020)
* [How to support multi-language in Wagtail CMS](https://www.accordbox.com/blog/how-support-multi-language-wagtail-cms/)
(22 February 2020)
* [Deploying my Wagtail blog to Digital Ocean](https://rosederwelt.com/deploying-my-wagtail-blog-digital-ocean-pt-1/)
Part 1 of a 2 part series (29 January 2020)
* [How to Create and Manage Menus of Wagtail application](https://www.accordbox.com/blog/wagtail-tutorial-12-how-create-and-manage-menus-wagtail-application/)
- An updated overview of implementing menus (22 February 2020)
* [Adding a React component in Wagtail Admin](https://dev.to/lb/adding-a-react-component-in-wagtail-admin-3e)
- Shows how to render an interactive timeline of published Pages (30 December 2019)
* [Wagtail API - how to customise the detail URL](https://dev.to/wagtail/wagtail-api-how-to-customize-the-detail-url-2j3l)
(19 December 2020)
* [How to Add Django Models to the Wagtail Admin](https://dev.to/revsys/how-to-add-django-models-to-the-wagtail-admin-1mdi)
(27 August 2019)
* [How do I Wagtail](https://foundation.mozilla.org/en/docs/how-do-i-wagtail/)
- An Editor’s Guide for Mozilla’s usage of Wagtail (25 April 2019)
* [Learn Wagtail](https://learnwagtail.com/)
- Regular video tutorials about all aspects of Wagtail (1 March 2019)
* [How to add buttons to ModelAdmin Index View in Wagtail CMS](https://timonweb.com/tutorials/how-to-add-buttons-to-modeladmin-index-view-in-wagtail-cms/)
(23 January 2019)
* [Wagtail Tutorial Series](https://www.accordbox.com/blog/wagtail-tutorials/)
(20 January 2019)
* [How to Deploy Wagtail to Google App Engine PaaS (Video)](https://www.youtube.com/watch?v=uD9PTag2-PQ)
(28 December 2018)
* [How To Prevent Users From Creating Pages by Page Type](https://timonweb.com/tutorials/prevent-users-from-creating-certain-page-types-in-wagtail-cms/)
(25 October 2018)
* [How to Deploy Wagtail to Jelastic PaaS](https://jelastic.com/blog/deploy-wagtail-python-cms/)
(11 October 2018)
* [Basic Introduction to Setting Up Wagtail](https://medium.com/nonstopio/wagtail-an-open-source-cms-cec6b93706da)
(15 August 2018)
* [E-Commerce for Django developers (with Wagtail shop tutorial)](https://snipcart.com/blog/django-ecommerce-tutorial-wagtail-cms)
(5 July 2018)
* [Supporting StreamFields, Snippets and Images in a Wagtail GraphQL API](https://wagtail.org/blog/graphql-with-streamfield/)
(14 June 2018)
* [Wagtail and GraphQL](https://jossingram.wordpress.com/2018/04/19/wagtail-and-graphql/)
(19 April 2018)
* [Wagtail and Azure storage blob containers](https://jossingram.wordpress.com/2017/11/29/wagtail-and-azure-storage-blob-containers/)
(29 November 2017)
* [Building TwilioQuest with Twilio Sync, Django \[incl. Wagtail\], and Vue.js](https://www.twilio.com/en-us/blog/building-twilioquest-with-twilio-sync-django-and-vue-js-html)
(6 November 2017)
* [Upgrading from Wagtail 1.0 to Wagtail 1.11](https://www.caktusgroup.com/blog/2017/07/19/upgrading-wagtail/)
(19 July 2017)
* [Wagtail-Multilingual: a simple project to demonstrate how multilingual is implemented](https://github.com/cristovao-alves/Wagtail-Multilingual)
(31 January 2017)
* [Wagtail: 2 Steps for Adding Pages Outside of the CMS](https://www.caktusgroup.com/blog/2016/02/15/wagtail-2-steps-adding-pages-outside-cms/)
(15 February 2016)
* [Deploying Wagtail to Heroku](https://wagtail.org/blog/deploying-wagtail-heroku/)
(15 July 2015)
* [Adding a Twitter Widget for Wagtail’s new StreamField](https://jossingram.wordpress.com/2015/04/02/adding-a-twitter-widget-for-wagtails-new-streamfield/)
(2 April 2015)
* [Working With Wagtail: Menus](https://learnwagtail.com/tutorials/how-to-create-a-custom-wagtail-menu-system/)
(22 January 2015)
* [Upgrading Wagtail to use Django 1.7 locally using vagrant](https://jossingram.wordpress.com/2014/12/10/upgrading-wagtail-to-use-django-1-7-locally-using-vagrant/)
(10 December 2014)
* [Wagtail redirect page. Can link to page, URL and document](https://gist.github.com/alej0varas/e7e334643ceab6e65744)
(24 September 2014)
* [Outputting JSON for a model with properties and db fields in Wagtail/Django](https://jossingram.wordpress.com/2014/09/24/outputing-json-for-a-model-with-properties-and-db-fields-in-wagtaildjango/)
(24 September 2014)
* [Bi-lingual website using Wagtail CMS](https://jossingram.wordpress.com/2014/09/17/bi-lingual-website-using-wagtail-cms/)
(17 September 2014)
* [Wagtail CMS – Lesser known features](https://jossingram.wordpress.com/2014/09/12/wagtail-cms-lesser-known-features/)
(12 September 2014)
* [Wagtail notes: stateful on/off hallo.js plugins](https://www.coactivate.org/projects/ejucovy/blog/2014/08/09/wagtail-notes-stateful-onoff-hallojs-plugins/)
(9 August 2014)
* [Add some blockquote buttons to Wagtail CMS’ WYSIWYG Editor](https://jossingram.wordpress.com/2014/07/24/add-some-blockquote-buttons-to-wagtail-cms-wysiwyg-editor/)
(24 July 2014)
* [Adding Bread Crumbs to the front end in Wagtail CMS](https://jossingram.wordpress.com/2014/07/01/adding-bread-crumbs-to-the-front-end-in-wagtail-cms/)
(1 July 2014)
* [Extending hallo.js using Wagtail hooks](https://gist.github.com/jeffrey-hearn/502d0914fa4a930f08ac)
(9 July 2014)
* [Wagtail notes: custom tabs per page type](https://www.coactivate.org/projects/ejucovy/blog/2014/05/10/wagtail-notes-custom-tabs-per-page-type/)
(10 May 2014)
* [Wagtail notes: managing redirects as pages](https://www.thirdbearsolutions.com/blog/managing-wagtail-redirects-pages/)
(10 May 2014)
* [Wagtail notes: dynamic templates per page](https://www.thirdbearsolutions.com/blog/letting-editors-choose-template-wagtail-page/)
(10 May 2014)
* [Wagtail notes: type-constrained PageChooserPanel](https://python.hotexamples.com/examples/wagtail.wagtailadmin.edit_handlers/PageChooserPanel/-/python-pagechooserpanel-class-examples.html)
(9 May 2014)
You can also find more resources from the community on [Awesome Wagtail](https://github.com/springload/awesome-wagtail)
.
Tip[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/third_party_tutorials.html#tip "Link to this heading")
-----------------------------------------------------------------------------------------------------------------
We are working on a collection of Wagtail tutorials and best practices. Please share your Wagtail HOWTOs, development notes, or site launches in the [Wagtail Slack workspace](https://github.com/wagtail/wagtail/wiki/Slack)
in #watercooler, or feel free to reach out directly via [email](mailto:hello%40wagtail.org)
.
---
# Deploy your site — Wagtail Documentation 7.1.2 documentation
* * *
Deploy your site[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/deployment.html#deploy-your-site "Link to this heading")
=========================================================================================================================
So far, you’ve been accessing your site locally. Now, it’s time to deploy it. Deployment makes your site publicly accessible on the Internet by hosting it on a production server.
To deploy your site, you’ll first need to choose a [hosting provider](https://docs.wagtail.org/en/v7.1.2/deployment/index.html#deployment-guide)
, then follow their Wagtail deployment guide.
If you’re unsure, we have a tutorial for using [Fly.io with Backblaze](https://docs.wagtail.org/en/v7.1.2/deployment/flyio.html)
.
* * *
Congratulations! You made it to the end of the tutorial!
Where next[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/deployment.html#where-next "Link to this heading")
-------------------------------------------------------------------------------------------------------------
* Read the Wagtail [topics](https://docs.wagtail.org/en/v7.1.2/topics/index.html)
and [reference](https://docs.wagtail.org/en/v7.1.2/reference/index.html)
documentation
* Learn how to implement [StreamField](https://docs.wagtail.org/en/v7.1.2/topics/streamfield.html)
for freeform page content
* Browse through the [advanced topics](https://docs.wagtail.org/en/v7.1.2/advanced_topics/index.html)
section and read [third-party tutorials](https://docs.wagtail.org/en/v7.1.2/advanced_topics/third_party_tutorials.html)
---
# Usage guide — Wagtail Documentation 7.1.2 documentation
* * *
Usage guide[¶](https://docs.wagtail.org/en/v7.1.2/topics/index.html#usage-guide "Link to this heading")
========================================================================================================
* [Page models](https://docs.wagtail.org/en/v7.1.2/topics/pages.html)
* [Writing templates](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html)
* [How to use images in templates](https://docs.wagtail.org/en/v7.1.2/topics/images.html)
* [Search](https://docs.wagtail.org/en/v7.1.2/topics/search/index.html)
* [Indexing](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html)
* [Searching](https://docs.wagtail.org/en/v7.1.2/topics/search/searching.html)
* [Backends](https://docs.wagtail.org/en/v7.1.2/topics/search/backends.html)
* [Snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/index.html)
* [Registering snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/registering.html)
* [Rendering snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/rendering.html)
* [Optional features](https://docs.wagtail.org/en/v7.1.2/topics/snippets/features.html)
* [Customizing admin views for snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/customizing.html)
* [How to use StreamField for mixed content](https://docs.wagtail.org/en/v7.1.2/topics/streamfield.html)
* [Permissions](https://docs.wagtail.org/en/v7.1.2/topics/permissions.html)
---
# Wagtail API — Wagtail Documentation 7.2.1 documentation
* * *
Wagtail API[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/index.html#wagtail-api "Link to this heading")
=====================================================================================================================
Wagtail includes a built-in API module that provides a public-facing, JSON-formatted API to allow retrieving content as raw field data. This is useful for cases like serving content to non-web clients (such as a mobile phone app) or pulling content out of Wagtail for use in another site.
See [RFC 8: Wagtail API](https://github.com/wagtail/rfcs/blob/main/text/008-wagtail-api.md#12---stable-and-unstable-versions)
for full details on our stabilization policy.
Wagtail is built on Django, so you can also use other Django solutions for building APIs such as [with Django Ninja](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#api-ninja)
or [with GraphQL](https://github.com/torchbox/wagtail-grapple)
.
* [Wagtail API v2 configuration guide](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/configuration.html)
* [Basic configuration](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/configuration.html#basic-configuration)
* [Additional settings](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/configuration.html#additional-settings)
* [Wagtail API v2 usage guide](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/usage.html)
* [Fetching content](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/usage.html#fetching-content)
* [Default endpoint fields](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/usage.html#default-endpoint-fields)
* [Changes since v1](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/v2/usage.html#changes-since-v1)
* [How to set up Django Ninja](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html)
* [Basic configuration](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#basic-configuration)
* [OpenAPI documentation](https://docs.wagtail.org/en/v7.2.1/advanced_topics/api/django-ninja.html#openapi-documentation)
---
# Set up site menu for linking to the homepage and other pages — Wagtail Documentation 7.1.2 documentation
* * *
Set up site menu for linking to the homepage and other pages[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/set_up_site_menu.html#set-up-site-menu-for-linking-to-the-homepage-and-other-pages "Link to this heading")
=======================================================================================================================================================================================================================
This section of the tutorial will teach you how to create a site menu to link to your homepage and other pages as you add them. The site menu will appear across all pages of your portfolio website, just like your footer.
Start by creating a template tag in your `base/templatetags/navigation_tags.py` file:
from django import template
\# import site:
from wagtail.models import Site
from base.models import FooterText
register \= template.Library()
\# ... keep the definition of get\_footer\_text and add the get\_site\_root template tag:
@register.simple\_tag(takes\_context\=True)
def get\_site\_root(context):
return Site.find\_for\_request(context\["request"\]).root\_page
In the preceding code, you created the `get_site_root` template tag to retrieve the root page of your site, which is your `HomePage` in this case.
Now, create `mysite/templates/includes/header.html` file and add the following to it:
{% load wagtailcore\_tags navigation\_tags %}
In the preceding template you loaded the `wagtailcore_tags` and `navigation_tags`. With these tags, you can generate navigation menus for your Wagtail project.
`{% get_site_root as site_root %}` retrieves your HomePage and assigns it to the variable `site_root`.
`Home |` creates a link to your HomePage by using the pageurl template tag with `site_root` as an argument. It generates a link to your HomePage, with the label **Home**, followed by a pipe symbol `|`, to separate the menu items.
`{% for menuitem in site_root.get_children.live.in_menu %}` is a loop that iterates through the child pages of your HomePage that are live and included in the menu.
Finally, add your `header` template to your `base` template by modifying your `mysite/templates/base.html` file:
{% wagtailuserbar %}
{# Add your header template to your base template: #}
{% include "includes/header.html" %}
{% block content %}{% endblock %}
{% include "includes/footer.html" %}
{# Global javascript #}
{% block extra\_js %}
{# Override this in templates to add extra javascript #}
{% endblock %}
Now, if you restart your server and reload your homepage, you’ll see your site menu with a link to your homepage labeled as **Home**.
Add pages to your site menu[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/set_up_site_menu.html#add-pages-to-your-site-menu "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------
You can add any top-level, like your Home page, Blog index page, Portfolio page, and Form page to the site menu by doing the following:
1. Go to your admin interface.
2. Go to any top-level page.
3. Click **Promote**.
4. Check the **Show in menus** checkbox.
In the next section of this tutorial, we’ll show you how to style your site and improve its user experience.
---
# Add search to your site — Wagtail Documentation 7.1.2 documentation
* * *
Add search to your site[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/add_search.html#add-search-to-your-site "Link to this heading")
=======================================================================================================================================
Using the Wagtail `start` command to start your project gives you a built-in search app. This built-in search app provides a simple search functionality for your site.
However, you can customize your search template to suit your portfolio site. To customize your search template, go to your `search/templates/search.html` file and modify it as follows:
{% extends "base.html" %}
{% load static wagtailcore\_tags %}
{% block body\_class %}template-searchresults{% endblock %}
{% block title %}Search{% endblock %}
{% block content %}
Search
{% if search\_results %}
{# Add this paragraph to display the details of results found: #}
You searched{% if search\_query %} for “{{ search\_query }}”{% endif %}, {{ search\_results.paginator.count }} result{{ search\_results.paginator.count|pluralize }} found.
{# Replace the HTML element with the html element: #}
{% for result in search\_results %}
{% if result.search\_description %}
{{ result.search\_description }}
{% endif %}
{% endfor %}
{# Improve pagination by adding: #}
{% if search\_results.paginator.num\_pages \> 1 %}
Page {{ search\_results.number }} of {{ search\_results.paginator.num\_pages }}, showing {{ search\_results|length }} result{{ search\_results|pluralize }} out of {{ search\_results.paginator.count }}
{% endif %}
{% if search\_results.has\_previous %}
Previous
{% endif %}
{% if search\_results.has\_next %}
Next
{% endif %}
{% elif search\_query %}
No results found
{% endif %}
{% endblock %}
Now, let’s explain the customizations you made in the preceding template:
1. You used `You searched{% if search_query %} for “{{ search_query }}”{% endif %}, {{ search_results.paginator.count }} result{{ search_results.paginator.count|pluralize }} found.
` to display the search query, the number of results found. You also used it to display the plural form of “result” if more than one search result is found.
2. You replaced the `` HTML element with the `` HTML element. The `` HTML element contains a loop iterating through each search result and displaying them as list items. Using `` gives you numbered search results.
3. You improved the pagination in the template. `{% if search_results.paginator.num_pages > 1 %}` checks if there is more than one page of search results. If there is more than one page of search results, it displays the current page number, the total number of pages, the number of results on the current page, and the total number of results. `{% if search_results.has_previous %} and {% if search_results.has_next %}` checks if there are previous and next pages of search results. If they exist, it displays “Previous” and “Next” links with appropriate URLs for pagination.
Now, you want to display your search across your site. One way to do this is to add it to your header. Go to your `mysite/templates/includes/header.html` file and modify it as follows:
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
You can now run searches and view results. However, the search currently only returns results for words found in the page title. To make other fields searchable, it is necessary to add them to the search index - see [Indexing](https://docs.wagtail.org/en/v7.1.2/topics/search/indexing.html#wagtailsearch-indexing)
. In `blog/models.py`, add the code below:
\# Add to the existing imports:
from wagtail.search import index
class BlogPage(Page):
\# Keep the existing parent\_page\_types, fields, methods and content\_panels definitions, and add:
search\_fields \= Page.search\_fields + \[\
index.SearchField('intro'),\
index.SearchField('body'),\
\]
Now run the following command to rebuild the search index, now with the `body` field of `BlogPage` included:
python manage.py update\_index
Searching will now return results for words found within the body text.
Well done! You now have a fully deployable portfolio site. The next section of this tutorial will walk you through how to deploy your site.
---
# Sustainability considerations — Wagtail Documentation 7.2.1 documentation
* * *
Sustainability considerations[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/sustainability_considerations.html#sustainability-considerations "Link to this heading")
=============================================================================================================================================================================
Here are guidelines and resources we recommend for projects with sustainability goals relating to climate action, such as the UN’s [Sustainable Development Goal 13: Climate action](https://sdgs.un.org/goals/goal13)
, and [SBTi’s Corporate Net-Zero Standard](https://sciencebasedtargets.org/net-zero)
.
Standards[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/sustainability_considerations.html#standards "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------
To account for the emissions of websites and track their reduction, we recommend the following:
* ITU [L.1420](https://www.itu.int/rec/T-REC-L.1420)
and [L.1430](https://www.itu.int/rec/T-REC-L.1430)
* GHG Protocol [Product Life Cycle Accounting and Reporting Standard](https://ghgprotocol.org/product-standard)
(Scope 3), and its additional [ICT Sector Guidance](https://ghgprotocol.org/guidance-built-ghg-protocol)
.
Those are the same standards used to assess the [sustainability of Wagtail](https://wagtail.org/sustainability/)
.
Guidelines[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/sustainability_considerations.html#guidelines "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------
Here are the guidelines we would recommend applying to Wagtail websites:
* [Sustainable Web Design W3C Interest Group](https://www.w3.org/groups/ig/sustainableweb/)
working draft of the [Web Sustainability Guidelines](https://w3c.github.io/sustainableweb-wsg/)
* [Sustainable Web Design](https://sustainablewebdesign.org/)
* [GR491](https://gr491.isit-europe.org/en/)
* [Green Design Principles by Microsoft (PDF)](https://wxcteam.microsoft.com/download/Microsoft-Green-Design-Principles.pdf)
* [Green Software Foundation Patterns](https://patterns.greensoftware.foundation/catalog/web/)
Quantifying emissions[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/sustainability_considerations.html#quantifying-emissions "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------------
To quantify the emissions of a Wagtail website, we recommend three different approaches:
* The [Sustainable Web Design](https://sustainablewebdesign.org/calculating-digital-emissions/)
model, which uses page weight as a metric of energy efficiency, and page views as a metric of site utilization. This model has clear [known limitations](https://www.fershad.com/writing/is-data-the-best-proxy-for-website-carbon-emissions/)
, but is nonetheless ideal to provide high-level figures for a wide range of websites or pages.
* Infrastructure-based calculators such as [Cloud Carbon Footprint](https://www.cloudcarbonfootprint.org/)
, a measurement and analysis tools.
* Measurement orchestration tools such as [Green Metrics](https://github.com/green-coding-berlin/green-metrics-tool)
, [GreenFrame](https://greenframe.io/)
, [Scaphandre](https://github.com/hubblo-org/scaphandre)
.
* * *
We are working on those considerations as part of Wagtail’s development process. An example of this is the two [Google Summer of Code internships focusing on sustainability](https://wagtail.org/blog/going-green-with-google-summer-of-code/)
, in partnership with the [Green Web Foundation and Green Coding Berlin](https://github.com/wagtail/wagtail/discussions/8843)
.
---
# Create contact page — Wagtail Documentation 7.1.2 documentation
* * *
Create contact page[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_contact_page.html#create-contact-page "Link to this heading")
========================================================================================================================================
Having a contact page on your portfolio site will help you connect with potential clients, employers, or other professionals who are interested in your skills.
In this section of the tutorial, you’ll add a contact page to your portfolio site using Wagtail forms.
Start by modifying your `base/models.py` file:
from django.db import models
\# import parentalKey:
from modelcluster.fields import ParentalKey
\# import FieldRowPanel and InlinePanel:
from wagtail.admin.panels import (
FieldPanel,
FieldRowPanel,
InlinePanel,
MultiFieldPanel,
PublishingPanel,
)
from wagtail.fields import RichTextField
from wagtail.models import (
DraftStateMixin,
PreviewableMixin,
RevisionMixin,
TranslatableMixin,
)
\# import AbstractEmailForm and AbstractFormField:
from wagtail.contrib.forms.models import AbstractEmailForm, AbstractFormField
\# import FormSubmissionsPanel:
from wagtail.contrib.forms.panels import FormSubmissionsPanel
from wagtail.contrib.settings.models import (
BaseGenericSetting,
register\_setting,
)
from wagtail.snippets.models import register\_snippet
\# ... keep the definition of NavigationSettings and FooterText. Add FormField and FormPage:
class FormField(AbstractFormField):
page \= ParentalKey('FormPage', on\_delete\=models.CASCADE, related\_name\='form\_fields')
class FormPage(AbstractEmailForm):
intro \= RichTextField(blank\=True)
thank\_you\_text \= RichTextField(blank\=True)
content\_panels \= AbstractEmailForm.content\_panels + \[\
FormSubmissionsPanel(),\
FieldPanel('intro'),\
InlinePanel('form\_fields'),\
FieldPanel('thank\_you\_text'),\
MultiFieldPanel(\[\
FieldRowPanel(\[\
FieldPanel('from\_address'),\
FieldPanel('to\_address'),\
\]),\
FieldPanel('subject'),\
\], "Email"),\
\]
In the preceding code, your `FormField` model inherits from `AbstractFormField`. With `AbstractFormField`, you can define any form field type of your choice in the admin interface. `page = ParentalKey('FormPage', on_delete=models.CASCADE, related_name='form_fields')` defines a parent-child relationship between the `FormField` and `FormPage` models.
On the other hand, your `FormPage` model inherits from `AbstractEmailForm`. Unlike `AbstractFormField`, `AbstractEmailForm` offers a form-to-email capability. Also, it defines the `to_address`, `from_address`, and `subject` fields. It expects a `form_fields` to be defined.
After defining your `FormField` and `FormPage` models, you must create `form_page` and `form_page_landing` templates. The `form_page` template differs from a standard Wagtail template because it’s passed a variable named `form` containing a Django `Form` object in addition to the usual `Page` variable. The `form_page_landing.html`, on the other hand, is a standard Wagtail template. Your site displays the `form_page_landing.html` after a user makes a successful form submission.
Now, create a `base/templates/base/form_page.html` file and add the following to it:
{% extends "base.html" %}
{% load wagtailcore\_tags %}
{% block body\_class %}template-formpage{% endblock %}
{% block content %}
{{ page.title }}
{{ page.intro|richtext }}
{% endblock content %}
Also, create a `base/templates/base/form_page_landing.html` file and add the following to it:
{% extends "base.html" %}
{% load wagtailcore\_tags %}
{% block body\_class %}template-formpage{% endblock %}
{% block content %}
{{ page.title }}
{{ page.thank\_you\_text|richtext }}
{% endblock content %}
Now, you’ve added all the necessary lines of code and templates that you need to create a contact page on your portfolio website.
Now, migrate your database by running `python manage.py makemigrations` and then `python manage.py migrate`.
Add your contact information[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_contact_page.html#add-your-contact-information "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------
To add contact information to your portfolio site, follow these steps:
1. Create a **Form page** as a child page of **Home** by following these steps:
a. Restart your server. b. Go to your admin interface. c. Click `Pages` in your [Sidebar](https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/#the-sidebar)
. d. Click `Home`. e. Click the `+` icon (Add child page) at the top of the resulting page. f. Click `Form page`.
2. Add the necessary data.
3. Publish your `Form Page`.
Style your contact page[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_contact_page.html#style-your-contact-page "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
To style your contact page, add the following CSS to your `mysite/static/css/mysite.css` file:
.page-form label {
display: block;
margin-top: 10px;
margin-bottom: 5px;
}
.page-form :is(textarea, input, select) {
width: 100%;
max-width: 500px;
min-height: 40px;
margin-top: 5px;
margin-bottom: 10px;
}
.page-form .helptext {
font-style: italic;
}
In the next section of this tutorial, you’ll learn how to add a portfolio page to your site.
---
# Customizing the editing interface — Wagtail Documentation 7.2.1 documentation
* * *
Customizing the editing interface[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#customizing-the-editing-interface "Link to this heading")
============================================================================================================================================================================================
Customizing the tabbed interface[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#customizing-the-tabbed-interface "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
As standard, Wagtail organizes panels for pages into two tabs: ‘Content’ and ‘Promote’. For snippets, Wagtail puts all panels into one page. Depending on the requirements of your site, you may wish to customize this for specific page types or snippets - for example, adding an additional tab for sidebar content. This can be done by specifying an `edit_handler` attribute on the page or snippet model. For example:
from wagtail.admin.panels import TabbedInterface, TitleFieldPanel, ObjectList
class BlogPage(Page):
\# field definitions omitted
content\_panels \= \[\
TitleFieldPanel('title', classname\="title"),\
FieldPanel('date'),\
FieldPanel('body'),\
\]
sidebar\_content\_panels \= \[\
FieldPanel('advert'),\
InlinePanel('related\_links'),\
\]
edit\_handler \= TabbedInterface(\[\
ObjectList(content\_panels, heading\='Content'),\
ObjectList(sidebar\_content\_panels, heading\='Sidebar content'),\
ObjectList(Page.promote\_panels, heading\='Promote'),\
ObjectList(Page.settings\_panels, heading\='Settings'), \# The default settings are now displayed in the sidebar but need to be in the \`TabbedInterface\`.\
\])
Permissions can be set using `permission` on the `ObjectList` to restrict entire groups of panels to specific users.
from wagtail.admin.panels import TabbedInterface, TitleFieldPanel, ObjectList
class FundingPage(Page):
\# field definitions omitted
shared\_panels \= \[\
TitleFieldPanel('title', classname\="title"),\
FieldPanel('date'),\
FieldPanel('body'),\
\]
private\_panels \= \[\
FieldPanel('approval'),\
\]
edit\_handler \= TabbedInterface(\[\
ObjectList(shared\_panels, heading\='Details'),\
ObjectList(private\_panels, heading\='Admin only', permission\="superuser"),\
ObjectList(Page.promote\_panels, heading\='Promote'),\
ObjectList(Page.settings\_panels, heading\='Settings'), \# The default settings are now displayed in the sidebar but need to be in the \`TabbedInterface\`.\
\])
For more details on how to work with `Panel` and `PanelGroup` classes, see [Panels](https://docs.wagtail.org/en/v7.2.1/extending/forms.html#forms-panels-overview)
.
Rich Text (HTML)[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#rich-text-html "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------
Wagtail provides a general-purpose WYSIWYG editor for creating rich text content (HTML) and embedding media such as images, video, and documents. To include this in your models, use the `RichTextField` function when defining a model field:
from wagtail.fields import RichTextField
from wagtail.admin.panels import FieldPanel
class BookPage(Page):
body \= RichTextField()
content\_panels \= Page.content\_panels + \[\
FieldPanel('body'),\
\]
`RichTextField` inherits from Django’s basic `TextField` field, so you can pass any field parameters into `RichTextField` as if using a normal Django field. This field does not need a special panel and can be defined with `FieldPanel`. However, template output from `RichTextField` is special and needs to be filtered in order to preserve embedded content. See [Rich text (filter)](https://docs.wagtail.org/en/v7.2.1/topics/writing_templates.html#rich-text-filter)
.
If `max_length` is specified, length validation will automatically ignore any rich text formatting. To enforce minimum length in the same manner, pass an instance of `wagtail.rich_text.RichTextMinLengthValidator` as part of the `validators` argument.
### Limiting features in a rich text field[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#limiting-features-in-a-rich-text-field "Link to this heading")
By default, the rich text editor provides users with a wide variety of options for text formatting and inserting embedded content such as images. However, we may wish to restrict a rich text field to a more limited set of features - for example:
* The field might be intended for a short text snippet, such as a summary to be pulled out on index pages, where embedded images or videos would be inappropriate;
* When page content is defined using [StreamField](https://docs.wagtail.org/en/v7.2.1/topics/streamfield.html)
, elements such as headings, images, and videos are usually given their own block types, alongside a rich text block type used for ordinary paragraph text; in this case, allowing headings and images to also exist within the rich text content is redundant (and liable to result in inconsistent designs).
This can be achieved by passing a `features` keyword argument to `RichTextField`, with a list of identifiers for the features you wish to allow:
body \= RichTextField(features\=\['h2', 'h3', 'bold', 'italic', 'link'\])
The feature identifiers provided on a default Wagtail installation are as follows:
* `h2`, `h3`, `h4` - heading elements
* `bold`, `italic` - bold / italic text
* `ol`, `ul` - ordered / unordered lists
* `hr` - horizontal rules
* `link` - page, external and email links
* `document-link` - links to documents
* `image` - embedded images
* `embed` - embedded media (see [Embedded content](https://docs.wagtail.org/en/v7.2.1/advanced_topics/embeds.html#embedded-content)
)
We have a few additional feature identifiers as well. They are not enabled by default, but you can use them in your list of identifiers. These are as follows:
* `h1`, `h5`, `h6` - heading elements
* `code` - inline code
* `superscript`, `subscript`, `strikethrough` - text formatting
* `blockquote` - blockquote
The process for creating new features is described in the following pages:
* [Rich text internals](https://docs.wagtail.org/en/v7.2.1/extending/rich_text_internals.html)
* [Extending the Draftail editor](https://docs.wagtail.org/en/v7.2.1/extending/extending_draftail.html)
You can also provide a setting for naming a group of rich text features. See [WAGTAILADMIN\_RICH\_TEXT\_EDITORS](https://docs.wagtail.org/en/v7.2.1/reference/settings.html#wagtailadmin-rich-text-editors)
.
### Image Formats in the Rich Text Editor[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#image-formats-in-the-rich-text-editor "Link to this heading")
On loading, Wagtail will search for any app with the file `image_formats.py` and execute the contents. This provides a way to customize the formatting options shown to the editor when inserting images in the `RichTextField` editor.
As an example, add a “thumbnail” format:
\# image\_formats.py
from wagtail.images.formats import Format, register\_image\_format
register\_image\_format(Format('thumbnail', 'Thumbnail', 'richtext-image thumbnail', 'max-120x120'))
To begin, import the `Format` class, `register_image_format` function, and optionally `unregister_image_format` function. To register a new `Format`, call the `register_image_format` with the `Format` object as the argument. The `Format` class takes the following constructor arguments:
**`name`**
The unique key used to identify the format. To unregister this format, call `unregister_image_format` with this string as the only argument.
**`label`**
The label used in the chooser form when inserting the image into the `RichTextField`.
**`classname`**
The string to assign to the `class` attribute of the generated ` ` tag.
Note
Any class names you provide must have CSS rules matching them written separately, as part of the frontend CSS code. Specifying a `classname` value of `left` will only ensure that class is output in the generated markup, it won’t cause the image to align itself left.
**`filter_spec`** The string specification to create the image rendition. For more, see [How to use images in templates](https://docs.wagtail.org/en/v7.2.1/topics/images.html#image-tag)
.
To unregister, call `unregister_image_format` with the string of the `name` of the `Format` as the only argument.
Warning
Unregistering `Format` objects will cause errors when viewing or editing pages that reference them.
Date field validation[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#date-field-validation "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
The `NoFutureDateValidator` prevents users from entering dates in the future. This is particularly useful for fields that should only contain past or present dates, such as:
* Birth dates
* Historical event dates
* Publication dates for content that has already been published
* Completion dates for finished projects
from django.db import models
from wagtail.fields import NoFutureDateValidator
from wagtail.admin.panels import FieldPanel
from wagtail.models import Page
class EventPage(Page):
event\_date \= models.DateField(
validators\=\[NoFutureDateValidator()\],
help\_text\="The date when this event occurred"
)
birth\_date \= models.DateField(
validators\=\[NoFutureDateValidator("Birth date cannot be in the future.")\],
help\_text\="Person's date of birth"
)
content\_panels \= Page.content\_panels + \[\
FieldPanel('event\_date'),\
FieldPanel('birth\_date'),\
\]
The validator also accepts an optional custom error message:
\# Using default message: "Date cannot be in the future."
event\_date \= models.DateField(validators\=\[NoFutureDateValidator()\])
\# Using custom message
birth\_date \= models.DateField(
validators\=\[NoFutureDateValidator("Please enter a valid birth date.")\]
)
The validator will raise a validation error if the entered date is after today’s date.
Customizing generated forms[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#customizing-generated-forms "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_class_ wagtail.admin.forms.WagtailAdminModelForm[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminModelForm "Link to this definition")
_class_ wagtail.admin.forms.WagtailAdminPageForm[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminPageForm "Link to this definition")
Wagtail automatically generates forms using the panels configured on the model. By default, this form subclasses [WagtailAdminModelForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminModelForm "wagtail.admin.forms.WagtailAdminModelForm")
, or [WagtailAdminPageForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminPageForm "wagtail.admin.forms.WagtailAdminPageForm")
for pages. A custom base form class can be configured by setting the `base_form_class` attribute on any model. Custom forms for snippets must subclass [WagtailAdminModelForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminModelForm "wagtail.admin.forms.WagtailAdminModelForm")
, and custom forms for pages must subclass [WagtailAdminPageForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.WagtailAdminPageForm "wagtail.admin.forms.WagtailAdminPageForm")
.
This can be used to add non-model fields to the form, to automatically generate field content, or to add custom validation logic for your models:
from django import forms
from django.db import models
import geocoder \# not in Wagtail, for example only - https://geocoder.readthedocs.io/
from wagtail.admin.panels import TitleFieldPanel, FieldPanel
from wagtail.admin.forms import WagtailAdminPageForm
from wagtail.models import Page
class EventPageForm(WagtailAdminPageForm):
address \= forms.CharField()
def clean(self):
cleaned\_data \= super().clean()
\# Make sure that the event starts before it ends
start\_date \= cleaned\_data\['start\_date'\]
end\_date \= cleaned\_data\['end\_date'\]
if start\_date and end\_date and start\_date \> end\_date:
self.add\_error('end\_date', 'The end date must be after the start date')
return cleaned\_data
def save(self, commit\=True):
page \= super().save(commit\=False)
\# Update the duration field from the submitted dates
page.duration \= (page.end\_date \- page.start\_date).days
\# Fetch the location by geocoding the address
page.location \= geocoder.arcgis(self.cleaned\_data\['address'\])
if commit:
page.save()
return page
class EventPage(Page):
start\_date \= models.DateField()
end\_date \= models.DateField()
duration \= models.IntegerField()
location \= models.CharField(max\_length\=255)
content\_panels \= \[\
TitleFieldPanel('title'),\
FieldPanel('start\_date'),\
FieldPanel('end\_date'),\
FieldPanel('address'),\
\]
base\_form\_class \= EventPageForm
Wagtail will generate a new subclass of this form for the model, adding any fields defined in `panels` or `content_panels`. Any fields already defined on the model will not be overridden by these automatically added fields, so the form field for a model field can be overridden by adding it to the custom form.
Customizing the generated copy page form[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#customizing-the-generated-copy-page-form "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
_class_ wagtail.admin.forms.CopyForm[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.CopyForm "Link to this definition")
When copying a page, Wagtail will generate a form to allow the user to modify the copied page. By default, this form subclasses [CopyForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.CopyForm "wagtail.admin.forms.CopyForm")
. A custom base form class can be configured by setting the `copy_form_class` attribute on any model. Custom forms must subclass [CopyForm](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#wagtail.admin.forms.CopyForm "wagtail.admin.forms.CopyForm")
.
This can be used to specify alterations to the copied form on a per-model basis.
For example, auto-incrementing the slug field:
from django import forms
from django.db import models
from wagtail.admin.forms.pages import CopyForm
from wagtail.admin.panels import FieldPanel
from wagtail.models import Page
class CustomCopyForm(CopyForm):
def \_\_init\_\_(self, \*args, \*\*kwargs):
"""
Override the default copy form to auto-increment the slug.
"""
super().\_\_init\_\_(\*args, \*\*kwargs)
suffix \= 2 \# set initial\_slug as incremented slug
parent\_page \= self.page.get\_parent()
if self.page.slug:
try:
suffix \= int(self.page.slug\[\-1\])+1
base\_slug \= self.page.slug\[:\-2\]
except ValueError:
base\_slug \= self.page.slug
new\_slug \= base\_slug + f"-{suffix}"
while not Page.\_slug\_is\_available(new\_slug, parent\_page):
suffix += 1
new\_slug \= f"{base\_slug}\-{suffix}"
self.fields\["new\_slug"\].initial \= new\_slug
class BlogPage(Page):
copy\_form\_class \= CustomCopyForm \# Set the custom copy form for all EventPage models
introduction \= models.TextField(blank\=True)
body \= RichTextField()
content\_panels \= Page.content\_panels + \[\
FieldPanel('introduction'),\
FieldPanel('body'),\
\]
Customizing Page slug generation[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#customizing-page-slug-generation "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The `SlugInput` widget accepts additional kwargs or can be extended for custom slug generation.
Django’s `models.SlugField` fields will automatically use the Wagtail admin’s `SlugInput`. To change its behavior you will first need to override the widget.
\# models.py
\# ... imports
class MyPage(Page):
promote\_panels \= \[\
FieldPanel("slug"), \# automatically uses \`SlugInput\`\
\# ... other panels\
\]
### Overriding `SlugInput`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#overriding-sluginput "Link to this heading")
There are multiple ways to override the `SlugInput`, depending on your use case and admin setup.
#### Via `promote_panels`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#via-promote-panels "Link to this heading")
The simplest, if you have already set custom `promote_panels`, is to leverage the `FieldPanel` widget kwarg as follows.
from wagtail.admin.widgets.slug import SlugInput
\# ... other imports
class MyPage(Page):
promote\_panels \= \[\
FieldPanel("slug", widget\=SlugInput(locale\="uk-UK")), \# force a specific locale for this page's slug only\
\# ... other panels need to be declared\
\]
#### Via a custom form using `base_form_class`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#via-a-custom-form-using-base-form-class "Link to this heading")
If you do not want to re-declare the `promote_panels`, your Page model’s `base_form_class` can be set to a form class that overrides the widget.
\# models.py
from wagtail.admin.forms import WagtailAdminPageForm
from wagtail.admin.widgets import SlugInput
from wagtail.models import Page
\# ... other imports
class MyPageForm(WagtailAdminPageForm):
def \_\_init\_\_(self, \*args, \*\*kwargs):
super().\_\_init\_\_(\*args, \*\*kwargs)
\# force a specific locale for this page's slug only
self.fields\["slug"\].widget \= SlugInput(locale\="uk-UK")
class MyPage(Page):
base\_form\_class \= MyPageForm
\# other fields
\# no need to declare \`promote\_panels\`
#### Globally, via `register_form_field_override`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#globally-via-register-form-field-override "Link to this heading")
If you want to override the `models.SlugField` widget for the entire admin, this can be done using the Wagtail admin util.
It’s best to add this to a `wagtail_hooks.py` file as this will get run at the right time.
\# wagtail\_hooks.py
from django.db import models
from wagtail.admin.forms.models import register\_form\_field\_override
from wagtail.admin import widgets
\# .. other imports & hooks
register\_form\_field\_override(
models.SlugField,
override\={"widget": widgets.SlugInput(locale\="uk-UK")},
)
The following sections will only focus on the `SlugInput(...)` usage and not where to override this.
### Overriding the default locale behavior via `locale`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#overriding-the-default-locale-behavior-via-locale "Link to this heading")
The `SlugInput` is locale aware and will adjust the transliteration (Unicode to ASCII conversion) based on the most suitable locale, only when [`WAGTAIL_ALLOW_UNICODE_SLUGS`](https://docs.wagtail.org/en/v7.2.1/reference/settings.html#wagtail-allow-unicode-slugs)
is `False`.
The locale will be determined from the target translation locale if [Internationalization](https://docs.wagtail.org/en/v7.2.1/advanced_topics/i18n.html#internationalisation)
is enabled.
If internationalization is not in use, it will be based on the language of the admin for the currently logged in user. This behavior can be overridden - see below.
#### Examples[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#examples "Link to this heading")
| `SlugInput` | Description |
| --- | --- |
| `SlugInput(locale="uk-UK")` or `SlugInput(locale="uk")` | Override the locale for a specific language code only (Ukrainian in this example) |
| `SlugInput(locale=False)` | Avoid the default logic for determining the locale and do not attempt to be locale aware, transliteration will still apply but use a basic approach. |
| `SlugInput(locale=my_page_instance.locale)` | Use a [`Locale`](https://docs.wagtail.org/en/v7.2.1/reference/models.html#locale-model-ref) instance from some other model source. |
### Adding custom formatters via `formatters`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#adding-custom-formatters-via-formatters "Link to this heading")
`SlugInput` also accepts a `formatters` kwarg, allowing a list of custom formatters to be applied, each formatter item can be one of the following.
1. A regex pattern or string (for example `r"\d"`, `re.compile(r"\d")`)
2. A list-like value containing a regex pattern/string and a replacement string (for example `[r"\d", "n"]`)
3. A list-like value containing a regex pattern/string and a replacement string & custom base JavaScript regex flags (for example `[r"\d", "n", "u"]`)
As a reminder, ensure that regex strings are appropriately escaped.
For example, here’s a formatter that will remove common stop words from the slug. If the title is entered as `The weather and the times`, this will produce a slug of `weather-times`.
\# models.py
from wagtail.admin.forms import WagtailAdminPageForm
from wagtail.admin.widgets import SlugInput
from wagtail.models import Page
\# ... other imports
class MyPageForm(WagtailAdminPageForm):
def \_\_init\_\_(self, \*args, \*\*kwargs):
super().\_\_init\_\_(\*args, \*\*kwargs)
self.fields\["slug"\].widget \= SlugInput(
formatters \= \[\
r"(?i)\\b(?:and|or|the|in|of|to)\\b", \# remove common stop words\
\]
)
class MyPage(Page):
base\_form\_class \= MyPageForm
#### Examples[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#id3 "Link to this heading")
| `SlugInput` | Description | Input (title) | Output (slug) |
| --- | --- | --- | --- |
| `SlugInput(formatters=[r"\d"])` | Remove digits before generating the slug. | `3 train rides` | `train-rides` |
| `SlugInput(formatters=[[r"ABC", "Acme Building Company"]])` | Replace company abbreviation with the full name. | `ABC retreat` | `acme-building-company-retreat` |
| `SlugInput(formatters=[[r"the", '', "u"]])` | Replace the first found occurrence of ‘the’ with a blank space. | `The Great Gatsby review` | `great-gatsby-review` |
| `SlugInput(formatters=[re.compile(r"(?i)\b(?:and\|or\|the\|in\|of\|to)\b")])` | Replace common stop words, case insensitive. | `The joy of living green` | `joy-living-green` |
| `SlugInput(formatters=[[re.compile(r"^(?!blog[-\s])", flags=re.MULTILINE), 'blog-']])` | Enforce a prefix of `blog-` for every slug. | `Last week in Spain` / `Blog about a dog` | `blog-last-week-in-spain` / `blog-about-a-dog` |
| `SlugInput(formatters=[[[r"(?
Built with Wagtail
{% with linkedin\_url\=settings.base.NavigationSettings.linkedin\_url github\_url\=settings.base.NavigationSettings.github\_url mastodon\_url\=settings.base.NavigationSettings.mastodon\_url %}
{% if linkedin\_url or github\_url or mastodon\_url %}
Follow me on:
{% if github\_url %}
GitHub
{% endif %}
{% if linkedin\_url %}
LinkedIn
{% endif %}
{% if mastodon\_url %}
Mastodon
{% endif %}
{% endif %}
{% endwith %}
Now, go to your `mysite/templates/base.html` file and modify it as follows:
{% load static %}
{% load wagtailuserbar %}
{% wagtailuserbar %}
{% block content %}{% endblock %}
{\# Add this to the file: #}
{% include "includes/footer.html" %}
{\# Global javascript #}
{% block extra\_js %}
{\# Override this in templates to add extra javascript #}
{% endblock %}
Now, reload your [homepage](http://127.0.0.1:8000/)
. You’ll see your social media links at the bottom of your homepage.
Create editable footer text with Wagtail Snippets[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_footer_for_all_pages.html#create-editable-footer-text-with-wagtail-snippets "Link to this heading")
============================================================================================================================================================================================================
Having only your social media links in your portfolio footer isn’t ideal. You can add other items, like site credits and copyright notices, to your footer. One way to do this is to use the Wagtail [snippet](https://docs.wagtail.org/en/v7.1.2/topics/snippets/index.html)
feature to create an editable footer text in your admin interface and display it in your site’s footer.
To add a footer text snippet to your admin interface, modify your `base/models.py` file as follows:
from django.db import models
from wagtail.admin.panels import (
FieldPanel,
MultiFieldPanel,
\# import PublishingPanel:
PublishingPanel,
)
\# import RichTextField:
from wagtail.fields import RichTextField
\# import DraftStateMixin, PreviewableMixin, RevisionMixin, TranslatableMixin:
from wagtail.models import (
DraftStateMixin,
PreviewableMixin,
RevisionMixin,
TranslatableMixin,
)
from wagtail.contrib.settings.models import (
BaseGenericSetting,
register\_setting,
)
\# import register\_snippet:
from wagtail.snippets.models import register\_snippet
\# ...keep the definition of the NavigationSettings model and add the FooterText model:
@register\_snippet
class FooterText(
DraftStateMixin,
RevisionMixin,
PreviewableMixin,
TranslatableMixin,
models.Model,
):
body \= RichTextField()
panels \= \[\
FieldPanel("body"),\
PublishingPanel(),\
\]
def \_\_str\_\_(self):
return "Footer text"
def get\_preview\_template(self, request, mode\_name):
return "base.html"
def get\_preview\_context(self, request, mode\_name):
return {"footer\_text": self.body}
class Meta(TranslatableMixin.Meta):
verbose\_name\_plural \= "Footer Text"
In the preceding code, the `FooterText` class inherits from several `Mixins`, the `DraftStateMixin`, `RevisionMixin`, `PreviewableMixin`, and `TranslatableMixin`. In Django, `Mixins` are reusable pieces of code that define additional functionality. They are implemented as Python classes, so you can inherit their methods and properties.
Since your `FooterText` model is a Wagtail snippet, you must manually add `Mixins` to your model. This is because snippets aren’t Wagtail `Pages` in their own right. Wagtail `Pages` don’t require `Mixins` because they already have them.
`DraftStateMixin` is an abstract model that you can add to any non-page Django model. You can use it for drafts or unpublished changes. The `DraftStateMixin` requires `RevisionMixin`.
`RevisionMixin` is an abstract model that you can add to any non-page Django model to save revisions of its instances. Every time you edit a page, Wagtail creates a new `Revision` and saves it in your database. You can use `Revision` to find the history of all the changes that you make. `Revision` also provides a place to keep new changes before they go live.
`PreviewableMixin` is a `Mixin` class that you can add to any non-page Django model to preview any changes made.
`TranslatableMixin` is an abstract model you can add to any non-page Django model to make it translatable.
Also, with Wagtail, you can set publishing schedules for changes you made to a Snippet. You can use a `PublishingPanel` to schedule revisions in your `FooterText`.
The `__str__` method defines a human-readable string representation of an instance of the `FooterText` class. It returns the string “Footer text”.
The `get_preview_template` method determines the template for rendering the preview. It returns the template name _“base.html”_.
The `get_preview_context` method defines the context data that you can use to render the preview template. It returns a key “footer\_text” with the content of the body field as its value.
The `Meta` class holds metadata about the model. It inherits from the `TranslatableMixin.Meta` class and sets the `verbose_name_plural` attribute to _“Footer Text”_.
Now, migrate your database by running `python manage.py makemigrations` and `python manage.py migrate`. After migrating, restart your server and then reload your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
. You can now find **Snippets** in your [Sidebar](https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/)
.
Add footer text[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_footer_for_all_pages.html#add-footer-text "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------
To add your footer text, go to your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
. Click **Snippets** in your [Sidebar](https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/#the-sidebar)
and add your footer text.
Display your footer text[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_footer_for_all_pages.html#display-your-footer-text "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------
In this tutorial, you’ll use a custom template tag to display your footer text.
In your `base` folder, create a `templatetags` folder. Within your new `templatetags` folder, create the following files:
* `__init__.py`
* `navigation_tags.py`
Leave your `base/templatetags/__init__.py` file blank and add the following to your `base/templatetags/navigation_tags.py` file:
from django import template
from base.models import FooterText
register \= template.Library()
@register.inclusion\_tag("base/includes/footer\_text.html", takes\_context\=True)
def get\_footer\_text(context):
footer\_text \= context.get("footer\_text", "")
if not footer\_text:
instance \= FooterText.objects.filter(live\=True).first()
footer\_text \= instance.body if instance else ""
return {
"footer\_text": footer\_text,
}
In the preceding code, you imported the `template` module. You can use it to create and render template tags and filters. Also, you imported the `FooterText` model from your `base/models.py` file.
`register = template.Library()` creates an instance of the `Library` class from the template module. You can use this instance to register custom template tags and filters.
`@register.inclusion_tag("base/includes/footer_text.html", takes_context=True)` is a decorator that registers an inclusion tag named `get_footer_text`. `"base/includes/footer_text.html"` is the template path that you’ll use to render the inclusion tag. `takes_context=True` indicates that the context of your `footer_text.html` template will be passed as an argument to your inclusion tag function.
The `get_footer_text` inclusion tag function takes a single argument named `context`. `context` represents the template context where you’ll use the tag.
`footer_text = context.get("footer_text", "")` tries to retrieve a value from the context using the key `footer_text`. The `footer_text` variable stores any retrieved value. If there is no `footer_text` value within the context, then the variable stores an empty string `""`.
The `if` statement in the `get_footer_text` inclusion tag function checks whether the `footer_text` exists within the context. If it doesn’t, the `if` statement proceeds to retrieve the first published instance of the `FooterText` from the database. If a published instance is found, the statement extracts the `body` content from it. However, if there’s no published instance available, it defaults to an empty string.
Finally, the function returns a dictionary containing the `"footer_text"` key with the value of the retrieved `footer_text` content. You’ll use this dictionary as context data when rendering your `footer_text` template.
To use the returned dictionary, create a `templates/base/includes` folder in your `base` folder. Then create a `footer_text.html` file in your `base/templates/base/includes/` folder and add the following to it:
{% load wagtailcore\_tags %}
{{ footer\_text|richtext }}
Add your `footer_text` template to your footer by modifying your `mysite/templates/includes/footer.html` file:
{# Load navigation\_tags at the top of the file: #}
{% load navigation\_tags %}
Now, restart your server and reload your [homepage](http://127.0.0.1:8000/)
. For more information on how to render your Wagtail snippets, read [Rendering snippets](https://docs.wagtail.org/en/v7.1.2/topics/snippets/rendering.html)
.
Well done! 👏 You now have a footer across all pages of your portfolio site. In the next section of this tutorial, you’ll learn how to set up a site menu for linking to your homepage and other pages as you add them.
---
# Custom user models — Wagtail Documentation 7.2.1 documentation
* * *
Custom user models[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_user_models.html#custom-user-models "Link to this heading")
==========================================================================================================================================================
This page shows how to configure Wagtail to accommodate a custom user model.
Creating a custom user model[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_user_models.html#creating-a-custom-user-model "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This example uses a custom user model that adds a text field and foreign key field.
The custom user model must at minimum inherit from [`AbstractBaseUser`](https://docs.djangoproject.com/en/stable/topics/auth/customizing/#django.contrib.auth.models.AbstractBaseUser "(in Django v5.2)")
and [`PermissionsMixin`](https://docs.djangoproject.com/en/stable/topics/auth/customizing/#django.contrib.auth.models.PermissionsMixin "(in Django v5.2)")
. In this case, we extend the [`AbstractUser`](https://docs.djangoproject.com/en/stable/topics/auth/customizing/#django.contrib.auth.models.AbstractUser "(in Django v5.2)")
class and add two fields. The foreign key references another model (not shown).
\# myapp/models.py
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
country \= models.CharField(verbose\_name\='country', max\_length\=255)
status \= models.ForeignKey(MembershipStatus, on\_delete\=models.SET\_NULL, null\=True, default\=1)
Add the app containing your user model to `INSTALLED_APPS` - it must be above the `'wagtail.users'` line, in order to override Wagtail’s built-in templates - and set [`AUTH_USER_MODEL`](https://docs.djangoproject.com/en/stable/topics/auth/customizing/#auth-custom-user "Django 5.2")
to reference your model. In this example the app is called `myapp` and the model is `User`.
AUTH\_USER\_MODEL \= 'myapp.User'
Creating custom user forms[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_user_models.html#creating-custom-user-forms "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Now we need to configure Wagtail’s user forms to allow the custom fields’ values to be updated. Create your custom user ‘create’ and ‘edit’ forms in your app:
\# myapp/forms.py
from django import forms
from django.utils.translation import gettext\_lazy as \_
from wagtail.users.forms import UserEditForm, UserCreationForm
from myapp.models import MembershipStatus
class CustomUserEditForm(UserEditForm):
status \= forms.ModelChoiceField(queryset\=MembershipStatus.objects, required\=True, label\=\_("Status"))
\# Use ModelForm's automatic form fields generation for the model's \`country\` field,
\# but use an explicit custom form field for \`status\`.
class Meta(UserEditForm.Meta):
fields \= UserEditForm.Meta.fields | {"country", "status"}
class CustomUserCreationForm(UserCreationForm):
status \= forms.ModelChoiceField(queryset\=MembershipStatus.objects, required\=True, label\=\_("Status"))
\# Use ModelForm's automatic form fields generation for the model's \`country\` field,
\# but use an explicit custom form field for \`status\`.
class Meta(UserCreationForm.Meta):
fields \= UserCreationForm.Meta.fields | {"country", "status"}
Extending the create and edit templates[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_user_models.html#extending-the-create-and-edit-templates "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Extend the Wagtail user ‘create’ and ‘edit’ templates. These extended templates should be placed in a template directory `wagtailusers/users`. Using a custom template directory is possible and will be explained later.
Template create.html:
{% extends "wagtailusers/users/create.html" %}
{% block extra\_fields %}
{% include "wagtailadmin/shared/field.html" with field\=form.country %}
{% include "wagtailadmin/shared/field.html" with field\=form.status %}
{% endblock extra\_fields %}
Template edit.html:
{% extends "wagtailusers/users/edit.html" %}
{% block extra\_fields %}
{% include "wagtailadmin/shared/field.html" with field\=form.country %}
{% include "wagtailadmin/shared/field.html" with field\=form.status %}
{% endblock extra\_fields %}
The `extra_fields` block allows fields to be inserted below the `last_name` field in the default templates. There is a `fields` block that allows appending fields to the end or beginning of the existing fields or to allow all the fields to be redefined.
Creating a custom `UserViewSet`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/custom_user_models.html#creating-a-custom-userviewset "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To make use of the custom forms, create a `UserViewSet` subclass.
\# myapp/viewsets.py
from wagtail.users.views.users import UserViewSet as WagtailUserViewSet
from .forms import CustomUserCreationForm, CustomUserEditForm
class UserViewSet(WagtailUserViewSet):
def get\_form\_class(self, for\_update\=False):
if for\_update:
return CustomUserEditForm
return CustomUserCreationForm
Then, configure the `wagtail.users` application to use the custom viewset, by setting up a custom `AppConfig` class. Within your project folder (which will be the package containing the top-level settings and urls modules), create `apps.py` (if it does not exist already) and add:
\# myproject/apps.py
from wagtail.users.apps import WagtailUsersAppConfig
class CustomUsersAppConfig(WagtailUsersAppConfig):
user\_viewset \= "myapp.viewsets.UserViewSet"
Replace `wagtail.users` in `settings.INSTALLED_APPS` with the path to `CustomUsersAppConfig`.
INSTALLED\_APPS \= \[\
...,\
\# Make sure you have two separate entries for the following:\
"myapp", \# an app that contains the custom user model\
"myproject.apps.CustomUsersAppConfig", \# a custom app config for the wagtail.users app\
\# "wagtail.users", # this should be removed in favour of the custom app config\
...,\
\]
Warning
You can also place the `WagtailUsersAppConfig` subclass inside the same `apps.py` file of your custom user model’s app (instead of in a `myproject/apps.py` file), but you need to be careful. Make sure to use two separate config classes instead of turning your existing `AppConfig` subclass into a `WagtailUsersAppConfig` subclass, as that would cause Django to pick up your custom user model as being part of `wagtail.users`. You may also need to set [`default`](https://docs.djangoproject.com/en/stable/ref/applications/#django.apps.AppConfig.default "(in Django v5.2)")
to `True` in your own app’s `AppConfig`, unless you already use a dotted path to the app’s `AppConfig` subclass in `INSTALLED_APPS`.
The `UserViewSet` class is a subclass of [`ModelViewSet`](https://docs.wagtail.org/en/v7.2.1/reference/viewsets.html#wagtail.admin.viewsets.model.ModelViewSet "wagtail.admin.viewsets.model.ModelViewSet")
and thus it supports most of [the customizations available for `ModelViewSet`](https://docs.wagtail.org/en/v7.2.1/extending/generic_views.html#generic-views)
. For example, you can use a custom directory for the templates by setting [`template_prefix`](https://docs.wagtail.org/en/v7.2.1/reference/viewsets.html#wagtail.admin.viewsets.model.ModelViewSet.template_prefix "wagtail.admin.viewsets.model.ModelViewSet.template_prefix")
:
class UserViewSet(WagtailUserViewSet):
template\_prefix \= "myapp/users/"
or customize the create and edit templates specifically:
class UserViewSet(WagtailUserViewSet):
create\_template\_name \= "myapp/users/create.html"
edit\_template\_name \= "myapp/users/edit.html"
The group forms and views can be customized in a similar way – see [Customizing group edit/create views](https://docs.wagtail.org/en/v7.2.1/extending/customizing_group_views.html#customizing-group-views)
.
---
# Style and improve user experience — Wagtail Documentation 7.1.2 documentation
* * *
Style and improve user experience[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/style_your_site.html#style-and-improve-user-experience "Link to this heading")
================================================================================================================================================================
In this tutorial, you’ll add a basic site theme to your portfolio site and improve its user experience.
Add styles[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/style_your_site.html#add-styles "Link to this heading")
------------------------------------------------------------------------------------------------------------------
To style your site, navigate to your `mysite/static/css/mysite.css` file and add the following:
\*,
::before,
::after {
box-sizing: border-box;
}
html {
font-family: \-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Roboto, "Helvetica Neue", Arial, sans-serif, Apple Color Emoji, "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
body {
min-height: 100vh;
max-width: 800px;
margin: 0 auto;
padding: 10px;
display: grid;
gap: 3vw;
grid-template-rows: min-content 1fr min-content;
}
a {
color: currentColor;
}
footer {
border-top: 2px dotted;
text-align: center;
}
header {
border-bottom: 2px dotted;
}
.template-homepage main {
text-align: center;
}
Now, reload your portfolio site to reflect the styles.
Note
If your webpage’s styles do not update after reloading, then you may need to clear your browser cache.
Improve user experience[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/style_your_site.html#improve-user-experience "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------
There are several ways to improve the user experience of your portfolio site.
Start by modifying your `mysite/templates/base.html` file as follows:
{# Remove wagtailuserbar: #}
{% load static wagtailcore\_tags %}
{% block title %}
{% if page.seo\_title %}{{ page.seo\_title }}{% else %}{{ page.title }}{% endif %}
{% endblock %}
{% block title\_suffix %}
{% wagtail\_site as current\_site %}
{% if current\_site and current\_site.site\_name %}\- {{ current\_site.site\_name }}{% endif %}
{% endblock %}
{% if page.search\_description %}
{% endif %}
{# Force all links in the live preview panel to be opened in a new tab #}
{% if request.in\_preview\_panel %}
{% endif %}
{# Add supported color schemes: #}
{# Add a favicon with inline SVG: #}
🍩 "/>
{# Global stylesheets #}
{% block extra\_css %}
{# Override this in templates to add extra stylesheets #}
{% endblock %}
{# Remove wagtailuserbar: #}
{% include "includes/header.html" %}
{# Wrap your block content within a HTML5 tag: #}
{% block content %}{% endblock %}
{% include "includes/footer.html" %}
{# Global javascript #}
{% block extra\_js %}
{# Override this in templates to add extra javascript #}
{% endblock %}
In the preceding template, you made the following modifications:
1. You removed `wagtailuserbar` from your base template. You’ll add the `wagtailuserbar` to your `header` template later in the tutorial. This change improves the user experience for keyboard and screen reader users.
2. You Added ` ` to inform the browser about the supported color schemes for your site. This makes your site adapt to both dark and light themes.
3. You used the ` ` tag to add a favicon to your portfolio site using inline SVG.
4. You wrapped the `{% block content %}` and `{% endblock %}` tags with a `` HTML5 tag. The `` tag is a semantic HTML5 tag used to indicate the main content of a webpage.
Also, you should dynamically get your HomePage’s title to use in your site menu instead of hardcoding it in your template. You should include the child pages of the Home page in your site menu if they have their ‘Show in menus’ option checked. Finally, you want to ensure that you add the `wagtailuserbar` that you removed from your `base` template to your `header` template. This will improve users’ experience for keyboard and screen reader users.
To make the improvements mentioned in the preceding paragraph, modify your `mysite/templates/includes/header.html` file as follows:
{# Load wagtailuserbar: #}
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
Another way you can improve user experience is by adding a skip link for keyboard users. A skip link is a web accessibility feature that enhances the browsing experience for keyboard navigators and screen readers. The skip link will let your users jump directly to the main content.
To add a skip-link, add the following styles to your `mysite/static/css/mysite.css` file:
.skip-link {
position: absolute;
top: \-30px;
}
.skip-link:focus-visible {
top: 5px;
}
After adding the styles, go to your `mysite/templates/base.html` file and add a unique identifier:
{% include "includes/header.html" %}
{# Add a unique identifier: #}
{% block content %}{% endblock %}
Finally, go to your `mysite/templates/includes/header.html` file and modify it as follows:
{% load wagtailcore\_tags navigation\_tags wagtailuserbar %}
In the preceding template, you added an ` (anchor)` element to create a _Skip to content_ link. You set the `href` attribute to `#main`. The internal anchor links to your base template’s `main` element.
Well done! Now, you know how to style a Wagtail site. The next section will teach you how to create a contact page for your portfolio site.
---
# How to build a site with AMP support — Wagtail Documentation 7.2.1 documentation
* * *
How to build a site with AMP support[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#how-to-build-a-site-with-amp-support "Link to this heading")
=================================================================================================================================================================
This recipe document describes a method for creating an [AMP](https://amp.dev/)
version of a Wagtail site and hosting it separately to the rest of the site on a URL prefix. It also describes how to make Wagtail render images with the `` tag when a user is visiting a page on the AMP version of the site.
Overview[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#overview "Link to this heading")
---------------------------------------------------------------------------------------------------------
In the next section, we will add a new URL entry that points to Wagtail’s internal `serve()` view which will have the effect of rendering the whole site again under the `/amp` prefix.
Then, we will add some utilities that will allow us to track whether the current request is in the `/amp` prefixed version of the site without needing a request object.
After that, we will add a template context processor to allow us to check from within templates which version of the site is being rendered.
Then, finally, we will modify the behavior of the `{% image %}` tag to make it render `` tags when rendering the AMP version of the site.
Creating the second page tree[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#creating-the-second-page-tree "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------
We can render the whole site at a different prefix by duplicating the Wagtail URL in the project `urls.py` file and giving it a prefix. This must be before the default URL from Wagtail, or it will try to find `/amp` as a page:
\# /urls.py
urlpatterns += \[\
\# Add this line just before the default \`\`include(wagtail\_urls)\`\` line\
path('amp/', include(wagtail\_urls)),\
\
path('', include(wagtail\_urls)),\
\]
If you now open `http://localhost:8000/amp/` in your browser, you should see the homepage.
Making pages aware of “AMP mode”[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#making-pages-aware-of-amp-mode "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------
All the pages will now render under the `/amp` prefix, but right now there isn’t any difference between the AMP version and the normal version.
To make changes, we need to add a way to detect which URL was used to render the page. To do this, we will have to wrap Wagtail’s `serve()` view and set a thread-local to indicate to all downstream code that AMP mode is active.
Note
Why a thread-local?
(feel free to skip this part if you’re not interested)
Modifying the `request` object would be the most common way to do this. However, the image tag rendering is performed in a part of Wagtail that does not have access to the request.
Thread-locals are global variables that can have a different value for each running thread. As each thread only handles one request at a time, we can use it as a way to pass around data that is specific to that request without having to pass the request object everywhere.
Django uses thread-locals internally to track the currently active language for the request.
Python implements thread-local data through the `threading.local` class, but as of Django 3.x, multiple requests can be handled in a single thread and so thread-locals will no longer be unique to a single request. Django therefore provides `asgiref.Local` as a drop-in replacement.
Now let’s create that thread-local and some utility functions to interact with it, save this module as `amp_utils.py` in an app in your project:
\# /amp\_utils.py
from contextlib import contextmanager
from asgiref.local import Local
\_amp\_mode\_active \= Local()
@contextmanager
def activate\_amp\_mode():
"""
A context manager used to activate AMP mode
"""
\_amp\_mode\_active.value \= True
try:
yield
finally:
del \_amp\_mode\_active.value
def amp\_mode\_active():
"""
Returns True if AMP mode is currently active
"""
return hasattr(\_amp\_mode\_active, 'value')
This module defines two functions:
* `activate_amp_mode` is a context manager which can be invoked using Python’s `with` syntax. In the body of the `with` statement, AMP mode would be active.
* `amp_mode_active` is a function that returns `True` when AMP mode is active.
Next, we need to define a view that wraps Wagtail’s builtin `serve` view and invokes the `activate_amp_mode` context manager:
\# /amp\_views.py
from django.template.response import SimpleTemplateResponse
from wagtail.views import serve as wagtail\_serve
from .amp\_utils import activate\_amp\_mode
def serve(request, path):
with activate\_amp\_mode():
response \= wagtail\_serve(request, path)
\# Render template responses now while AMP mode is still active
if isinstance(response, SimpleTemplateResponse):
response.render()
return response
Then we need to create an `amp_urls.py` file in the same app:
\# /amp\_urls.py
from django.urls import re\_path
from wagtail.urls import serve\_pattern
from . import amp\_views
urlpatterns \= \[\
re\_path(serve\_pattern, amp\_views.serve, name\='wagtail\_amp\_serve')\
\]
Finally, we need to update the project’s main `urls.py` to use this new URLs file for the `/amp` prefix:
\# /urls.py
from myapp import amp\_urls as wagtail\_amp\_urls
urlpatterns += \[\
\# Change this line to point at your amp\_urls instead of Wagtail's urls\
path('amp/', include(wagtail\_amp\_urls)),\
\
re\_path(r'', include(wagtail\_urls)),\
\]
After this, there shouldn’t be any noticeable difference to the AMP version of the site.
Write a template context processor so that AMP state can be checked in templates[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#write-a-template-context-processor-so-that-amp-state-can-be-checked-in-templates "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
This is optional, but worth doing so we can confirm that everything is working so far.
Add an `amp_context_processors.py` file into your app that contains the following:
\# /amp\_context\_processors.py
from .amp\_utils import amp\_mode\_active
def amp(request):
return {
'amp\_mode\_active': amp\_mode\_active(),
}
Now add the path to this context processor to the `['OPTIONS']['context_processors']` key of the `TEMPLATES` setting:
\# Either /settings.py or /settings/base.py
TEMPLATES \= \[\
{\
...\
\
'OPTIONS': {\
'context\_processors': \[\
...\
\# Add this after other context processors\
'myapp.amp\_context\_processors.amp',\
\],\
},\
},\
\]
You should now be able to use the `amp_mode_active` variable in templates. For example:
{% if amp\_mode\_active %}
AMP MODE IS ACTIVE!
{% endif %}
Using a different page template when AMP mode is active[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#using-a-different-page-template-when-amp-mode-is-active "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You’re probably not going to want to use the same templates on the AMP site as you do on the normal web site. Let’s add some logic in to make Wagtail use a separate template whenever a page is served with AMP enabled.
We can use a mixin, which allows us to re-use the logic on different page types. Add the following to the bottom of the amp\_utils.py file that you created earlier:
\# /amp\_utils.py
import os.path
...
class PageAMPTemplateMixin:
@property
def amp\_template(self):
\# Get the default template name and insert \`\_amp\` before the extension
name, ext \= os.path.splitext(self.template)
return name + '\_amp' + ext
def get\_template(self, request):
if amp\_mode\_active():
return self.amp\_template
return super().get\_template(request)
Now add this mixin to any page model, for example:
\# /models.py
from .amp\_utils import PageAMPTemplateMixin
class MyPageModel(PageAMPTemplateMixin, Page):
...
When AMP mode is active, the template at `app_label/mypagemodel_amp.html` will be used instead of the default one.
If you have a different naming convention, you can override the `amp_template` attribute on the model. For example:
\# /models.py
from .amp\_utils import PageAMPTemplateMixin
class MyPageModel(PageAMPTemplateMixin, Page):
amp\_template \= 'my\_custom\_amp\_template.html'
Overriding the `{% image %}` tag to output `` tags[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/amp.html#overriding-the-image-tag-to-output-amp-img-tags "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Finally, let’s change Wagtail’s `{% image %}` tag, so it renders an `` tags when rendering pages with AMP enabled. We’ll make the change to the `Rendition` model itself so it applies to both images rendered with the `{% image %}` tag and images rendered in rich text fields as well.
Doing this with a [Custom image model](https://docs.wagtail.org/en/v7.2.1/advanced_topics/images/custom_image_model.html#custom-image-model)
is easier, as you can override the `img_tag` method on your custom `Rendition` model to return a different tag.
For example:
from django.forms.utils import flatatt
from django.utils.safestring import mark\_safe
from wagtail.images.models import AbstractRendition
...
class CustomRendition(AbstractRendition):
def img\_tag(self, extra\_attributes):
attrs \= self.attrs\_dict.copy()
attrs.update(extra\_attributes)
if amp\_mode\_active():
return mark\_safe(''.format(flatatt(attrs)))
else:
return mark\_safe(' '.format(flatatt(attrs)))
...
Without a custom image model, you will have to monkey-patch the builtin `Rendition` model. Add this anywhere in your project where it would be imported on start:
from django.forms.utils import flatatt
from django.utils.safestring import mark\_safe
from wagtail.images.models import Rendition
def img\_tag(rendition, extra\_attributes\={}):
"""
Replacement implementation for Rendition.img\_tag
When AMP mode is on, this returns an tag instead of an tag
"""
attrs \= rendition.attrs\_dict.copy()
attrs.update(extra\_attributes)
if amp\_mode\_active():
return mark\_safe(''.format(flatatt(attrs)))
else:
return mark\_safe(' '.format(flatatt(attrs)))
Rendition.img\_tag \= img\_tag
---
# Create a portfolio page — Wagtail Documentation 7.1.2 documentation
* * *
Create a portfolio page[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#create-a-portfolio-page "Link to this heading")
==================================================================================================================================================
A portfolio page is a web page that has your resume or Curriculum Vitae (CV). The page will give potential employers a chance to review your work experience.
This tutorial shows you how to add a portfolio page to your portfolio site using the Wagtail StreamField.
First, let’s explain what StreamField is.
What is StreamField?[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#what-is-streamfield "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------
StreamField is a feature that was created to balance the need for developers to have well-structured data and the need for content creators to have editorial flexibility in how they create and organize their content.
In traditional content management systems, there’s often a compromise between structured content and giving editors the freedom to create flexible layouts. Typically, Rich Text fields are used to give content creators the tools they need to make flexible and versatile content. Rich Text fields can provide a WYSIWYG editor for formatting. However, Rich Text fields have limitations.
One of the limitations of Rich Text fields is the loss of semantic value. Semantic value in content denotes the underlying meaning or information conveyed by the structure and markup of content. When content lacks semantic value, it becomes more difficult to determine its intended meaning or purpose. For example, when editors use Rich Text fields to style text or insert multimedia, the content might not be semantically marked as such.
So, StreamField gives editors more flexibility and addresses the limitations of Rich Text fields. StreamField is a versatile content management solution that treats content as a sequence of blocks. Each block represents different content types like paragraphs, images, and maps. Editors can arrange and customize these blocks to create complex and flexible layouts. Also, StreamField can capture the semantic meaning of different content types.
Create reusable custom blocks[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#create-reusable-custom-blocks "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Now that you know what StreamField is, let’s guide you through using it to add a portfolio page to your site.
Start by adding a new app to your portfolio site by running the following command:
python manage.py startapp portfolio
Install your new portfolio app to your site by adding _“portfolio”_ to the `INSTALLED_APPS` list in your `mysite/settings/base.py` file.
Now create a `base/blocks.py` file and add the following lines of code to it:
from wagtail.blocks import (
CharBlock,
ChoiceBlock,
RichTextBlock,
StreamBlock,
StructBlock,
)
from wagtail.embeds.blocks import EmbedBlock
from wagtail.images.blocks import ImageBlock
class CaptionedImageBlock(StructBlock):
image \= ImageBlock(required\=True)
caption \= CharBlock(required\=False)
attribution \= CharBlock(required\=False)
class Meta:
icon \= "image"
template \= "base/blocks/captioned\_image\_block.html"
class HeadingBlock(StructBlock):
heading\_text \= CharBlock(classname\="title", required\=True)
size \= ChoiceBlock(
choices\=\[\
("", "Select a heading size"),\
("h2", "H2"),\
("h3", "H3"),\
("h4", "H4"),\
\],
blank\=True,
required\=False,
)
class Meta:
icon \= "title"
template \= "base/blocks/heading\_block.html"
class BaseStreamBlock(StreamBlock):
heading\_block \= HeadingBlock()
paragraph\_block \= RichTextBlock(icon\="pilcrow")
image\_block \= CaptionedImageBlock()
embed\_block \= EmbedBlock(
help\_text\="Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks",
icon\="media",
)
In the preceding code, you created reusable Wagtail custom blocks for different content types in your general-purpose app. You can use these blocks across your site in any order. Let’s take a closer look at each of these blocks.
First, `CaptionedImageBlock` is a block that editors can use to add images to a StreamField section.
class CaptionedImageBlock(StructBlock):
image \= ImageBlock(required\=True)
caption \= CharBlock(required\=False)
attribution \= CharBlock(required\=False)
class Meta:
icon \= "image"
template \= "base/blocks/captioned\_image\_block.html"
`CaptionedImageBlock` inherits from `StructBlock`. With `StructBlock`, you can group several child blocks together under a single parent block. Your `CaptionedImageBlock` has three child blocks. The first child block, `Image`, uses the `ImageBlock` field block type. With `ImageBlock`, editors can select an existing image or upload a new one. Its `required` argument has a value of `true`, which means that you must provide an image for the block to work. The `caption` and `attribution` child blocks use the `CharBlock` field block type, which provides single-line text inputs for adding captions and attributions to your images. Your `caption` and `attribution` child blocks have their `required` attributes set to `false`. That means you can leave them empty in your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
if you want to.
Just like `CaptionedImageBlock`, your `HeadingBlock` also inherits from `StructBlock`. It has two child blocks. Let’s look at those.
class HeadingBlock(StructBlock):
heading\_text \= CharBlock(classname\="title", required\=True)
size \= ChoiceBlock(
choices\=\[\
("", "Select a heading size"),\
("h2", "H2"),\
("h3", "H3"),\
("h4", "H4"),\
\],
blank\=True,
required\=False,
)
class Meta:
icon \= "title"
template \= "base/blocks/heading\_block.html"
The first child block, `heading_text`, uses `CharBlock` for specifying the heading text, and it’s required. The second child block, `size`, uses `ChoiceBlock` for selecting the heading size. It provides options for **h2**, **h3**, and **h4**. Both `blank=True` and `required=False` make the heading text optional in your [admin interface](https://guide.wagtail.org/en-latest/concepts/wagtail-interfaces/#admin-interface)
.
Your `BaseStreamBlock` class inherits from `StreamBlock`. `StreamBlock` defines a set of child block types that you would like to include in all of the StreamField sections across a project. This class gives you a baseline collection of common blocks that you can reuse and customize for all the different page types where you use StreamField. For example, you will definitely want editors to be able to add images and paragraph text to all their pages, but you might want to create a special pull quote block that is only used on blog pages.
class BaseStreamBlock(StreamBlock):
heading\_block \= HeadingBlock()
paragraph\_block \= RichTextBlock(icon\="pilcrow")
image\_block \= CaptionedImageBlock()
embed\_block \= EmbedBlock(
help\_text\="Insert a URL to embed. For example, https://www.youtube.com/watch?v=SGJFWirQ3ks",
icon\="media",
)
Your `BaseStreamBlock` has four child blocks. The `heading_block` uses the previously defined `HeadingBlock`. `paragraph_block` uses `RichTextBlock`, which provides a WYSIWYG editor for creating formatted text. `image_block` uses the previously defined `CaptionedImageBlock` class. `embed_block` is a block for embedding external content like videos. It uses the Wagtail `EmbedBlock`. To discover more field block types that you can use, read the [documentation on Field block types](https://docs.wagtail.org/en/v7.1.2/reference/streamfield/blocks.html#field-block-types)
.
Also, you defined a `Meta` class within your `CaptionedImageBlock` and `HeadingBlock` blocks. The `Meta` classes provide metadata for the blocks, including icons to visually represent them in the admin interface. The `Meta` classes also include custom templates for rendering your `CaptionedImageBlock` and `HeadingBlock` blocks.
Note
Wagtail provides built-in templates to render each block. However, you can override the built-in template with a custom template.
Finally, you must add the custom templates that you defined in the `Meta` classes of your `CaptionedImageBlock` and `HeadingBlock` blocks.
To add the custom template of your `CaptionedImageBlock`, create a `base/templates/base/blocks/captioned_image_block.html` file and add the following to it:
{% load wagtailimages\_tags %}
{% image self.image fill-600x338 loading\="lazy" %}
{{ self.caption }} - {{ self.attribution }}
To add the custom template of your `HeadingBlock` block, create a `base/templates/base/blocks/heading_block.html` file and add the following to it:
{% if self.size \== 'h2' %}
{{ self.heading\_text }}
{% elif self.size \== 'h3' %}
{{ self.heading\_text }}
{% elif self.size \== 'h4' %}
{{ self.heading\_text }}
{% endif %}
Note
You can also create a custom template for a child block. For example, to create a custom template for `embed_block`, create a `base/templates/base/blocks/embed_block.html` file and add the following to it:
`{{ self }}`
Use the blocks you created in your portfolio app[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#use-the-blocks-you-created-in-your-portfolio-app "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
You can use the reusable custom blocks you created in your general-purpose `base` app across your site. However, it’s conventional to define the blocks you want to use in a `blocks.py` file of the app you intend to use them in. Then you can import the blocks from your app’s `blocks.py` file to use them in your `models.py` file.
Now create a `portfolio/blocks.py` file and import the block you intend to use as follows:
from base.blocks import BaseStreamBlock
class PortfolioStreamBlock(BaseStreamBlock):
pass
The preceding code defines a custom block named `PortfolioStreamBlock`, which inherits from `BaseStreamBlock`. The pass statement indicates a starting point. Later in the tutorial, you’ll add custom block definitions and configurations to the `PortfolioStreamBlock`.
Now add the following to your `portfolio/models.py` file:
from wagtail.models import Page
from wagtail.fields import StreamField
from wagtail.admin.panels import FieldPanel
from portfolio.blocks import PortfolioStreamBlock
class PortfolioPage(Page):
parent\_page\_types \= \["home.HomePage"\]
body \= StreamField(
PortfolioStreamBlock(),
blank\=True,
use\_json\_field\=True,
help\_text\="Use this section to list your projects and skills.",
)
content\_panels \= Page.content\_panels + \[\
FieldPanel("body"),\
\]
In the preceding code, you defined a Wagtail `Page` named `PortfolioPage`. `parent_page_types = ["home.HomePage"]` specifies that your Portfolio page can only be a child page of Home Page. Your `body` field is a `StreamField`, which uses the `PortfolioStreamBlock` custom block that you imported from your `portfolio/blocks.py` file. `blank=True` indicates that you can leave this field empty in your admin interface. `help_text` provides a brief description of the field to guide editors.
Your next step is to create a template for your `PortfolioPage`. To do this, create a `portfolio/templates/portfolio/portfolio_page.html` file and add the following to it:
{% extends "base.html" %}
{% load wagtailcore\_tags wagtailimages\_tags %}
{% block body\_class %}template-portfolio{% endblock %}
{% block content %}
{{ page.title }}
{{ page.body }}
{% endblock %}
Now migrate your database by running `python manage.py makemigrations` and then `python manage.py migrate`.
Add more custom blocks[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#add-more-custom-blocks "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
To add more custom blocks to your `PortfolioPage`’s body, modify your `portfolio/blocks.py` file:
\# import CharBlock, ListBlock, PageChooserBlock, PageChooserBlock, RichTextBlock, and StructBlock:
from wagtail.blocks import (
CharBlock,
ListBlock,
PageChooserBlock,
RichTextBlock,
StructBlock,
)
\# import ImageBlock:
from wagtail.images.blocks import ImageBlock
from base.blocks import BaseStreamBlock
\# add CardBlock:
class CardBlock(StructBlock):
heading \= CharBlock()
text \= RichTextBlock(features\=\["bold", "italic", "link"\])
image \= ImageBlock(required\=False)
class Meta:
icon \= "form"
template \= "portfolio/blocks/card\_block.html"
\# add FeaturedPostsBlock:
class FeaturedPostsBlock(StructBlock):
heading \= CharBlock()
text \= RichTextBlock(features\=\["bold", "italic", "link"\], required\=False)
posts \= ListBlock(PageChooserBlock(page\_type\="blog.BlogPage"))
class Meta:
icon \= "folder-open-inverse"
template \= "portfolio/blocks/featured\_posts\_block.html"
class PortfolioStreamBlock(BaseStreamBlock):
\# delete the pass statement
card \= CardBlock(group\="Sections")
featured\_posts \= FeaturedPostsBlock(group\="Sections")
In the preceding code, `CardBlock` has three child blocks, `heading`, `text` and `image`. You are already familiar with the field block types used by the child pages.
However, in your `FeaturedPostsBlock`, one of the child blocks, `posts`, uses `ListBlock`. `ListBlock` is a structural block type that you can use for multiple sub-blocks of the same type. You used it with `PageChooserBlock` to select only the Blog Page type pages. To better understand structural block types, read the [Structural block types documentation](https://docs.wagtail.org/en/v7.1.2/reference/streamfield/blocks.html#streamfield-staticblock)
.
Furthermore, `icon = "form"` and `icon = "folder-open-inverse"` define custom block icons to set your blocks apart in the admin interface. For more information about block icons, read the [documentation on block icons](https://docs.wagtail.org/en/v7.1.2/topics/streamfield.html#block-icons)
.
You used `group="Sections"` in `card = CardBlock(group="Sections")` and `featured_posts = FeaturedPostsBlock(group="Sections")` to categorize your `card` and `featured_posts` child blocks together within a category named `section`.
You probably know what your next step is. You have to create templates for your `CardBlock` and `FeaturedPostsBlock`.
To create a template for `CardBlock`, create a `portfolio/templates/portfolio/blocks/card_block.html` file and add the following to it:
{% load wagtailcore\_tags wagtailimages\_tags %}
{{ self.heading }}
{{ self.text|richtext }}
{% if self.image %}
{% image self.image width-480 %}
{% endif %}
To create a template for `featured_posts_block`, create a `portfolio/templates/portfolio/blocks/featured_posts_block.html` file and add the following to it:
{% load wagtailcore\_tags %}
{{ self.heading }}
{% if self.text %}
{{ self.text|richtext }}
{% endif %}
{% for page in self.posts %}
{% endfor %}
Finally, migrate your changes by running `python manage.py makemigrations` and then `python manage.py migrate`.
Add your resume[¶](https://docs.wagtail.org/en/v7.1.2/tutorial/create_portfolio_page.html#add-your-resume "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------
To add your resume to your portfolio site, follow these steps:
1. Create a **Portfolio Page** as a child page of **Home** by following these steps:
a. Restart your server. b. Go to your admin interface. c. Click `Pages` in your [Sidebar](https://guide.wagtail.org/en-latest/how-to-guides/find-your-way-around/#the-sidebar)
. d. Click `Home`. e. Click the `+` icon (Add child page) at the top of the resulting page. f. Click `Portfolio Page`.
2. Add your resume data by following these steps:
a. Use “Resume” as your page title. b. Click **+** to expand your body section. c. Click **Paragraph block**. d. Copy and paste the following text in your new **Paragraph block**:
I'm a Wagtail Developer with a proven track record of developing and maintaining complex web applications. I have experience writing custom code to extend Wagtail applications, collaborating with other developers, and integrating third-party services and APIs.
e. Click **+** below your preceding Paragraph block, and then click **Paragraph block** to add a new Paragraph Block. f. Type “/” in the input field of your new Paragraph block and then click **H2 Heading 2**. g. Use “Work Experience” as your Heading 2. h. Type “/” below your Heading 2 and click **H3 Heading 3**. i. Use the following as your Heading 3:
Wagtail developer at Birdwatchers Inc, United Kingdom
j. Type the following after your Heading 3:
January 2022 to November 2023
- Developed and maintained a complex web application using Wagtail, resulting in a 25% increase in user engagement and a 20% increase in revenue within the first year.
- Wrote custom code to extend Wagtail applications, resulting in a 30% reduction in development time and a 15% increase in overall code quality.
- Collaborated with other developers, designers, and stakeholders to integrate third-party services and APIs, resulting in a 40% increase in application functionality and user satisfaction.
- Wrote technical documentation and participated in code reviews, providing feedback to other developers and improving overall code quality by 20%.
Note
By starting your sentences with “-”, you’re writing out your work experience as a Bulletted list. You can achieve the same result by typing “/” in the input field of your Paragraph block and then clicking **Bulleted list**.
k. Click **+** below your Work experience. l. Click **Paragraph block** to add another Paragraph block. m. Type “/” in the input field of your new Paragraph block and then click **H2 Heading 2**. n. Use “Skills” as the Heading 2 of your new Paragraph block. o. Copy and paste the following after your Heading 2:
Python, Django, Wagtail, HTML, CSS, Markdown, Open-source management, Trello, Git, GitHub
3. Publish your `Portfolio Page`.
Congratulations! 🎉 You now understand how to create complex flexible layouts with Wagtail StreamField. In the next section of this tutorial, you’ll learn how to add search functionality to your site.
---
# Testing your Wagtail site — Wagtail Documentation 7.2.1 documentation
* * *
Testing your Wagtail site[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#testing-your-wagtail-site "Link to this heading")
===============================================================================================================================================
Wagtail comes with some utilities that simplify writing tests for your site.
WagtailPageTestCase[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtailpagetestcase "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------
**_class_ wagtail.test.utils.WagtailPageTestCase** `WagtailPageTestCase` extends `django.test.TestCase`, adding a few new `assert` methods. You should extend this class to make use of its methods:
from wagtail.test.utils import WagtailPageTestCase
from myapp.models import MyPage
class MyPageTests(WagtailPageTestCase):
def test\_can\_create\_a\_page(self):
...
**assertPageIsRoutable(_page, route\_path=”/”, msg=None_)**
Asserts that `page` can be routed to without raising a `Http404` error.
For page types with multiple routes, you can use `route_path` to specify an alternate route to test.
This assertion is great for getting coverage on custom routing logic for page types. Here is an example:
from wagtail.test.utils import WagtailPageTestCase
from myapp.models import EventListPage
class EventListPageRoutabilityTests(WagtailPageTestCase):
@classmethod
def setUpTestData(cls):
\# create page(s) for testing
...
def test\_default\_route(self):
self.assertPageIsRoutable(self.page)
def test\_year\_archive\_route(self):
\# NOTE: Despite this page type raising a 404 when no events exist for
\# the specified year, routing should still be successful
self.assertPageIsRoutable(self.page, "archive/year/1984/")
**assertPageIsRenderable(_page, route\_path=”/”, query\_data=None, post\_data=None, user=None, accept\_404=False, accept\_redirect=False, msg=None_)**
Asserts that `page` can be rendered without raising a fatal error.
For page types with multiple routes, you can use `route_path` to specify a partial path to be added to the page’s regular `url`.
When `post_data` is provided, the test makes a `POST` request with `post_data` in the request body. Otherwise, a `GET` request is made.
When supplied, `query_data` is always converted to a querystring and added to the request URL.
When `user` is provided, the test is conducted with them as the active user.
By default, the assertion will fail if the request to the page URL results in a 301, 302 or 404 HTTP response. If you are testing a page/route where a 404 response is expected, you can use `accept_404=True` to indicate this, and the assertion will pass when encountering a 404 response. Likewise, if you are testing a page/route where a redirect response is expected, you can use `accept_redirect=True` to indicate this, and the assertion will pass when encountering 301 or 302 response.
This assertion is great for getting coverage on custom rendering logic for page types. Here is an example:
def test\_default\_route\_rendering(self):
self.assertPageIsRenderable(self.page)
def test\_year\_archive\_route\_with\_zero\_matches(self):
\# NOTE: Should raise a 404 when no events exist for the specified year
self.assertPageIsRenderable(self.page, "archive/year/1984/", accept\_404\=True)
def test\_month\_archive\_route\_with\_zero\_matches(self):
\# NOTE: Should redirect to year-specific view when no events exist for the specified month
self.assertPageIsRenderable(self.page, "archive/year/1984/07/", accept\_redirect\=True)
**assertPageIsEditable(_page, post\_data=None, user=None, msg=None_)**
Asserts that the page edit view works for `page` without raising a fatal error.
When `user` is provided, the test is conducted with them as the active user. Otherwise, a superuser is created and used for the test.
After a successful `GET` request, a `POST` request is made with field data in the request body. If `post_data` is provided, that will be used for this purpose. If not, this data will be extracted from the `GET` response HTML.
This assertion is great for getting coverage on custom fields, panel configuration and custom validation logic. Here is an example:
def test\_editability(self):
self.assertPageIsEditable(self.page)
def test\_editability\_on\_post(self):
self.assertPageIsEditable(
self.page,
post\_data\={
"title": "Fabulous events",
"slug": "events",
"show\_featured": True,
"show\_expired": False,
"action-publish": "",
}
)
**assertPageIsPreviewable(_page, mode=””, post\_data=None, user=None, msg=None_)**
Asserts that the page preview view can be loaded for `page` without raising a fatal error.
For page types that support different preview modes, you can use `mode` to specify the preview mode to be tested.
When `user` is provided, the test is conducted with them as the active user. Otherwise, a superuser is created and used for the test.
To load the preview, the test client needs to make a `POST` request including all required field data in the request body. If `post_data` is provided, that will be used for this purpose. If not, the method will attempt to extract this data from the page edit view.
This assertion is great for getting coverage on custom preview modes, or getting reassurance that custom rendering logic is compatible with Wagtail’s preview mode. Here is an example:
def test\_general\_previewability(self):
self.assertPageIsPreviewable(self.page)
def test\_archive\_previewability(self):
self.assertPageIsPreviewable(self.page, mode\="year-archive")
**assertCanCreateAt(_parent\_model, child\_model, msg=None_)** Assert a particular child Page type can be created under a parent Page type. `parent_model` and `child_model` should be the Page classes being tested.
def test\_can\_create\_under\_home\_page(self):
\# You can create a ContentPage under a HomePage
self.assertCanCreateAt(HomePage, ContentPage)
**assertCanNotCreateAt(_parent\_model, child\_model, msg=None_)** Assert a particular child Page type can not be created under a parent Page type. `parent_model` and `child_model` should be the Page classes being tested.
def test\_cant\_create\_under\_event\_page(self):
\# You can not create a ContentPage under an EventPage
self.assertCanNotCreateAt(EventPage, ContentPage)
**assertCanCreate(_parent, child\_model, data, msg=None_, publish=True)** Assert that a child of the given Page type can be created under the parent, using the supplied POST data.
`parent` should be a Page instance, and `child_model` should be a Page subclass. `data` should be a dict that will be POSTed at the Wagtail admin Page creation method.
`publish` specifies whether the page being created should be published or not - default is `True`.
from wagtail.test.utils.form\_data import nested\_form\_data, streamfield
def test\_can\_create\_content\_page(self):
\# Get the HomePage
root\_page \= HomePage.objects.get(pk\=2)
\# Assert that a ContentPage can be made here, with this POST data
self.assertCanCreate(root\_page, ContentPage, nested\_form\_data({
'title': 'About us',
'body': streamfield(\[\
('text', 'Lorem ipsum dolor sit amet'),\
\])
}))
See [Form data helpers](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#form-data-test-helpers)
for a set of functions useful for constructing POST data.
**assertAllowedParentPageTypes(_child\_model, parent\_models, msg=None_)** Test that the only page types that `child_model` can be created under are `parent_models`.
The list of allowed parent models may differ from those set in `Page.parent_page_types`, if the parent models have set `Page.subpage_types`.
def test\_content\_page\_parent\_pages(self):
\# A ContentPage can only be created under a HomePage
\# or another ContentPage
self.assertAllowedParentPageTypes(
ContentPage, {HomePage, ContentPage})
\# An EventPage can only be created under an EventIndex
self.assertAllowedParentPageTypes(
EventPage, {EventIndex})
**assertAllowedSubpageTypes(_parent\_model, child\_models, msg=None_)** Test that the only page types that can be created under `parent_model` are `child_models`.
The list of allowed child models may differ from those set in `Page.subpage_types`, if the child models have set `Page.parent_page_types`.
def test\_content\_page\_subpages(self):
\# A ContentPage can only have other ContentPage children
self.assertAllowedSubpageTypes(
ContentPage, {ContentPage})
\# A HomePage can have ContentPage and EventIndex children
self.assertAllowedSubpageTypes(
HomePage, {ContentPage, EventIndex})
Form data helpers[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#module-wagtail.test.utils.form_data "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------
The `assertCanCreate` method requires page data to be passed in the same format that the page edit form would submit. For complex page types, it can be difficult to construct this data structure by hand; the `wagtail.test.utils.form_data` module provides a set of helper functions to assist with this.
wagtail.test.utils.form\_data.nested\_form\_data(_data_)[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.nested_form_data "Link to this definition")
Translates a nested dict structure into a flat form data dict with hyphen-separated keys.
nested\_form\_data({
'foo': 'bar',
'parent': {
'child': 'field',
},
})
\# Returns: {'foo': 'bar', 'parent-child': 'field'}
wagtail.test.utils.form\_data.rich\_text(_value_, _editor\='default'_, _features\=None_)[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.rich_text "Link to this definition")
Converts an HTML-like rich text string to the data format required by the currently active rich text editor.
Parameters:
* **editor** – An alternative editor name as defined in `WAGTAILADMIN_RICH_TEXT_EDITORS`
* **features** – A list of features allowed in the rich text content (see [Limiting features in a rich text field](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/page_editing_interface.html#rich-text-features)
)
self.assertCanCreate(root\_page, ContentPage, nested\_form\_data({
'title': 'About us',
'body': rich\_text('Lorem ipsum dolor sit amet
'),
}))
wagtail.test.utils.form\_data.streamfield(_items_)[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.streamfield "Link to this definition")
Takes a list of (block\_type, value) tuples and turns it in to StreamField form data. Use this within a [`nested_form_data()`](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.nested_form_data "wagtail.test.utils.form_data.nested_form_data")
call, with the field name as the key.
nested\_form\_data({'content': streamfield(\[\
('text', 'Hello, world'),\
\])})
\# Returns:
\# {
\# 'content-count': '1',
\# 'content-0-type': 'text',
\# 'content-0-value': 'Hello, world',
\# 'content-0-order': '0',
\# 'content-0-deleted': '',
\# }
wagtail.test.utils.form\_data.inline\_formset(_items_, _initial\=0_, _min\=0_, _max\=1000_)[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.inline_formset "Link to this definition")
Takes a list of form data for an InlineFormset and translates it in to valid POST data. Use this within a [`nested_form_data()`](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#wagtail.test.utils.form_data.nested_form_data "wagtail.test.utils.form_data.nested_form_data")
call, with the formset relation name as the key.
nested\_form\_data({'lines': inline\_formset(\[\
{'text': 'Hello'},\
{'text': 'World'},\
\])})
\# Returns:
\# {
\# 'lines-TOTAL\_FORMS': '2',
\# 'lines-INITIAL\_FORMS': '0',
\# 'lines-MIN\_NUM\_FORMS': '0',
\# 'lines-MAX\_NUM\_FORMS': '1000',
\# 'lines-0-text': 'Hello',
\# 'lines-0-ORDER': '0',
\# 'lines-0-DELETE': '',
\# 'lines-1-text': 'World',
\# 'lines-1-ORDER': '1',
\# 'lines-1-DELETE': '',
\# }
Creating Page objects within tests[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#creating-page-objects-within-tests "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
If you want to create page objects within tests, you will need to go through some steps before actually creating the page you want to test.
* Pages can’t be created directly with `MyPage.objects.create()` as you would do with a regular Django model, they need to be added as children to a parent page with `parent.add_child(instance=child)`.
* To start the page tree, you need a root page that can be created with `Page.get_first_root_node()`.
* You also need a `Site` set up with the correct `hostname` and a `root_page`.
from wagtail.models import Page, Site
from wagtail.rich\_text import RichText
from wagtail.test.utils import WagtailPageTestCase
from home.models import HomePage, MyPage
class MyPageTest(WagtailPageTestCase):
@classmethod
def setUpTestData(cls):
root \= Page.get\_first\_root\_node()
Site.objects.create(
hostname\="testserver",
root\_page\=root,
is\_default\_site\=True,
site\_name\="testserver",
)
home \= HomePage(title\="Home")
root.add\_child(instance\=home)
cls.page \= MyPage(
title\="My Page",
slug\="mypage",
)
home.add\_child(instance\=cls.page)
def test\_get(self):
response \= self.client.get(self.page.url)
self.assertEqual(response.status\_code, 200)
### Working with Page content[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#working-with-page-content "Link to this heading")
You will likely want to test the content of your page. If it includes a `StreamField`, you will need to set its content as a list of tuples with the block’s name and content. For `RichTextBlock`, the content has to be an instance of `RichText`.
...
from wagtail.rich\_text import RichText
class MyPageTest(WagtailPageTestCase):
@classmethod
def setUpTestData(cls):
...
\# Create page instance here
cls.page.body.extend(
\[\
("heading", "Just a CharField Heading"),\
("paragraph", RichText("First paragraph
")),\
("paragraph", RichText("Second paragraph
")),\
\]
)
cls.page.save()
def test\_page\_content(self):
response \= self.client.get(self.page.url)
self.assertEqual(response.status\_code, 200)
self.assertContains(response, "Just a CharField Heading")
self.assertContains(response, "First paragraph
")
self.assertContains(response, "Second paragraph
")
Fixtures[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#fixtures "Link to this heading")
-------------------------------------------------------------------------------------------------------------
### Using `dumpdata`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#using-dumpdata "Link to this heading")
Creating [fixtures](https://docs.djangoproject.com/en/stable/howto/initial-data/ "Django 5.2")
for tests is best done by creating content in a development environment, and using Django’s [`dumpdata`](https://docs.djangoproject.com/en/stable/ref/django-admin/#django-admin-dumpdata "Django 5.2")
command.
Note that by default `dumpdata` will represent `content_type` by the primary key; this may cause consistency issues when adding / removing models, as content types are populated separately from fixtures. To prevent this, use the `--natural-foreign` switch, which represents content types by `["app", "model"]` instead.
### Manual modification[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#manual-modification "Link to this heading")
You could modify the dumped fixtures manually, or even write them all by hand. Here are a few things to be wary of.
#### Custom Page models[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#custom-page-models "Link to this heading")
When creating customized Page models in fixtures, you will need to add both a `wagtailcore.page` entry, and one for your custom Page model.
Let’s say you have a `website` module which defines a `Homepage(Page)` class. You could create such a homepage in a fixture with:
\[\
{\
"model": "wagtailcore.page",\
"pk": 3,\
"fields": {\
"title": "My Customer's Homepage",\
"content\_type": \["website", "homepage"\],\
"depth": 2\
}\
},\
{\
"model": "website.homepage",\
"pk": 3,\
"fields": {}\
}\
\]
#### Treebeard fields[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/testing.html#treebeard-fields "Link to this heading")
Filling in the `path` / `numchild` / `depth` fields is necessary for tree operations like `get_parent()` to work correctly. `url_path` is another field that can cause errors in some uncommon cases if it isn’t filled in.
The [Treebeard docs](https://django-treebeard.readthedocs.io/en/stable/mp_tree.html "django-treebeard 4")
might help in understanding how this works.
---
# Writing templates — Wagtail Documentation 7.1.2 documentation
* * *
Writing templates[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#writing-templates "Link to this heading")
================================================================================================================================
Wagtail uses Django’s templating language. For developers new to Django, start with Django’s own template documentation: [Templates](https://docs.djangoproject.com/en/stable/topics/templates/ "Django 5.2")
Python programmers new to Django/Wagtail may prefer more technical documentation: [The Django template language: for Python programmers](https://docs.djangoproject.com/en/stable/ref/templates/api/ "Django 5.2")
You should be familiar with Django templating basics before continuing with this documentation.
Templates[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#templates "Link to this heading")
----------------------------------------------------------------------------------------------------------------
Every type of page or “content-type” in Wagtail is defined as a “model” in a file called `models.py`. If your site has a blog, you might have a `BlogPage` model and another called `BlogPageListing`. The names of the models are up to the Django developer.
For each page model in `models.py`, Wagtail assumes an HTML template file exists of (almost) the same name. The Front End developer may need to create these templates themselves by referring to `models.py` to infer template names from the models defined therein.
To find a suitable template, Wagtail converts CamelCase names to snake\_case. So for a `BlogPage` model, a template `blog_page.html` will be expected. The name of the template file can be overridden per model if necessary.
Template files are assumed to exist here:
name\_of\_project/
name\_of\_app/
templates/
name\_of\_app/
blog\_page.html
models.py
For more information, see the Django documentation for the [application directories template loader](https://docs.djangoproject.com/en/stable/ref/templates/api/ "Django 5.2")
.
### Page content[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#page-content "Link to this heading")
The data/content entered into each page is accessed/output through Django’s `{{ double-brace }}` notation. Each field from the model must be accessed by prefixing `page.`. For example the page title `{{ page.title }}` or an author field `{{ page.author }}`.
A custom variable name can be configured on the page model [`wagtail.models.Page.context_object_name`](https://docs.wagtail.org/en/v7.1.2/reference/models.html#wagtail.models.Page.context_object_name "wagtail.models.Page.context_object_name")
. If a custom name is defined, `page` is still available for use in shared templates.
Additionally, `request.` is available and contains Django’s request object.
Static assets[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#static-assets "Link to this heading")
------------------------------------------------------------------------------------------------------------------------
Static files (such as CSS, JS, and images) are typically stored here:
name\_of\_project/
name\_of\_app/
static/
name\_of\_app/
css/
js/
images/
models.py
(The names “css”, “js” etc aren’t important, only their position within the tree.)
Any file within the static folder should be inserted into your HTML using the `{% static %}` tag. More about it: [Static files (tag)](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#static-tag)
.
### User images[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#user-images "Link to this heading")
Images uploaded to a Wagtail site by its users (as opposed to a developer’s static files, mentioned above) go into the image library and from there are added to pages via the page editor interface.
Unlike other CMSs, adding images to a page does not involve choosing a “version” of the image to use. Wagtail has no predefined image “formats” or “sizes”. Instead, the template developer defines image manipulation to occur _on the fly_ when the image is requested, via a special syntax within the template.
Images from the library must be requested using this syntax, but a developer’s static images can be added via conventional means like `img` tags. Only images from the library can be manipulated on the fly.
Read more about the image manipulation syntax here: [How to use images in templates](https://docs.wagtail.org/en/v7.1.2/topics/images.html#image-tag)
.
Template tags & filters[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#template-tags-filters "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------
In addition to Django’s standard tags and filters, Wagtail provides some of its own, which can be `load`\-ed [just like any other](https://docs.djangoproject.com/en/stable/howto/custom-template-tags/ "Django 5.2")
.
Images (tag)[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#images-tag "Link to this heading")
--------------------------------------------------------------------------------------------------------------------
The `image` tag inserts an XHTML-compatible `img` element into the page, setting its `src`, `width`, `height`, and `alt`. See also [More control over the img tag](https://docs.wagtail.org/en/v7.1.2/topics/images.html#image-tag-alt)
.
The syntax for the `image` tag is thus:
{% image \[image\] \[resize-rule\] %}
For example:
{% load wagtailimages\_tags %}
...
{% image page.photo width-400 %}
{% image page.photo fill-80x80 %}
See [How to use images in templates](https://docs.wagtail.org/en/v7.1.2/topics/images.html#image-tag)
for full documentation.
### Images in multiple formats[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#images-in-multiple-formats "Link to this heading")
The `picture` tag works like `image`, but allows specifying multiple formats to generate a `` element with `` elements and a fallback ` `.
For example:
{% load wagtailimages\_tags %}
...
{% picture page.photo format-{avif,webp,jpeg} width-400 %}
See [Multiple formats](https://docs.wagtail.org/en/v7.1.2/topics/images.html#multiple-formats)
for full documentation.
### Images in multiple sizes[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#images-in-multiple-sizes "Link to this heading")
The `srcset_image` tag works like `image`, but allows specifying multiple sizes to generate a `srcset` attribute and leverage [responsive image rules](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)
.
For example:
{% load wagtailimages\_tags %}
...
{% srcset\_image page.photo width-{400,800} sizes\="(max-width: 600px) 400px, 80vw" %}
This can also be done with `picture`, to generate multiple formats and sizes at once:
{% picture page.photo format-{avif,webp,jpeg} width-{400,800} sizes\="80vw" %}
See [Responsive images](https://docs.wagtail.org/en/v7.1.2/topics/images.html#responsive-images)
for full documentation.
Rich text (filter)[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#rich-text-filter "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------
The `richtext` filter takes a chunk of HTML content and renders it as safe HTML on the page. Importantly, it also expands internal shorthand references to embedded images and links made in the Wagtail editor, into fully-baked HTML ready for display.
Only fields using `RichTextField` need this applied in the template.
{% load wagtailcore\_tags %}
...
{{ page.body|richtext }}
### Responsive Embeds[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#responsive-embeds "Link to this heading")
As Wagtail does not impose any styling of its own on templates, images, and embedded media will be displayed at a fixed width as determined by the HTML. Images can be made to resize to fit their container using a CSS rule such as the following:
.body img {
max-width: 100%;
height: auto;
}
where `body` is a container element in your template surrounding the images.
Making embedded media resizable is also possible, but typically requires custom style rules matching the media’s aspect ratio. To assist in this, Wagtail provides built-in support for responsive embeds, which can be enabled by setting `WAGTAILEMBEDS_RESPONSIVE_HTML = True` in your project settings. This adds a CSS class of `responsive-object` and an inline `padding-bottom` style to the embed, to be used in conjunction with the following CSS:
.responsive-object {
position: relative;
}
.responsive-object iframe,
.responsive-object object,
.responsive-object embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
Internal links (tag)[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#internal-links-tag "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------
### `pageurl`[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#pageurl "Link to this heading")
Takes a Page object and returns a relative URL (`/foo/bar/`) if within the same Site as the current page, or absolute (`http://example.com/foo/bar/`) if not.
{% load wagtailcore\_tags %}
...
Back to index
A `fallback` keyword argument can be provided - this can be a URL string, a named URL route that can be resolved with no parameters, or an object with a `get_absolute_url` method, and will be used as a substitute URL when the passed page is `None`.
{% load wagtailcore\_tags %}
{% for publication in page.related\_publications.all %}
{{ publication.title }}
{% endfor %}
### `fullpageurl`[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#fullpageurl "Link to this heading")
Takes a Page object and returns its absolute URL (`http://example.com/foo/bar/`).
{% load wagtailcore\_tags %}
...
Much like `pageurl`, a `fallback` keyword argument may be provided.
### `slugurl`[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#slugurl "Link to this heading")
Takes any `slug` as defined in a page’s “Promote” tab and returns the URL for the matching Page. If multiple pages exist with the same slug, the page chosen is undetermined.
Like `pageurl`, this will try to provide a relative link if possible but will default to an absolute link if the Page is on a different Site. This is most useful when creating shared page furniture, for example, top-level navigation or site-wide links.
{% load wagtailcore\_tags %}
...
News index
Static files (tag)[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#static-files-tag "Link to this heading")
--------------------------------------------------------------------------------------------------------------------------------
The `static` tag is used to load anything from your static files directory. Use of this tag avoids rewriting all static paths if hosting arrangements change, such as when moving from development to a live environment.
{% load static %}
...
Notice that the full path is not required - the path given here is relative to the app’s `static` directory. To avoid clashes with static files from other apps (including Wagtail itself), it’s recommended to place static files in a subdirectory of `static` with the same name as the app.
Multi-site support[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#multi-site-support "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------
### `wagtail_site`[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#wagtail-site "Link to this heading")
Returns the Site object corresponding to the current request.
{% load wagtailcore\_tags %}
{% wagtail\_site as current\_site %}
Wagtail user bar[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#wagtail-user-bar "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------
The `wagtailuserbar` tag provides a contextual flyout menu for logged-in users. The menu gives editors the ability to edit the current page or add a child page, besides the options to show the page in the Wagtail page explorer or jump to the Wagtail admin dashboard.
This tag may be used on standard Django views, without page object. The user bar will contain one item pointing to the admin.
We recommend putting the tag near the top of the `` element to allow keyboard users to reach it. You should consider putting the tag after any [skip links](https://webaim.org/techniques/skipnav/)
but before the navigation and main content of your page.
{% load wagtailuserbar %}
...
Skip to content
{% wagtailuserbar %} {# This is a good place for the user bar #}
...
...
By default, the user bar appears in the bottom right of the browser window, inset from the edge. If this conflicts with your design it can be moved by passing a parameter to the template tag. These examples show you how to position the user bar in each corner of the screen:
...
{% wagtailuserbar 'top-left' %}
{% wagtailuserbar 'top-right' %}
{% wagtailuserbar 'bottom-left' %}
{% wagtailuserbar 'bottom-right' %}
...
The user bar can be positioned where it works best with your design. Alternatively, you can position it with a CSS rule in your own CSS files, for example:
wagtail-userbar::part(userbar) {
bottom: 30px;
}
To customize the items shown in the user bar, you can use the [`construct_wagtail_userbar`](https://docs.wagtail.org/en/v7.1.2/reference/hooks.html#construct-wagtail-userbar)
hook.
The user bar is also available as a [template component](https://docs.wagtail.org/en/v7.1.2/extending/template_components.html#template-components)
, which allows it to be rendered independently and [loaded by a headless frontend](https://docs.wagtail.org/en/v7.1.2/advanced_topics/headless.html#headless-user-bar)
.
Varying output between preview and live[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#varying-output-between-preview-and-live "Link to this heading")
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Sometimes you may wish to vary the template output depending on whether the page is being previewed or viewed live. For example, if you have visitor-tracking code such as Google Analytics in place on your site, it’s a good idea to leave this out when previewing, so that editor activity doesn’t appear in your analytics reports. Wagtail provides a `request.is_preview` variable to distinguish between preview and live:
{% if not request.is\_preview %}
{% endif %}
If the page is being previewed, `request.preview_mode` can be used to determine the specific preview mode being used, if the page supports [multiple preview modes](https://docs.wagtail.org/en/v7.1.2/reference/models.html#wagtail.models.Page.preview_modes "wagtail.models.Page.preview_modes")
.
Template fragment caching[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#template-fragment-caching "Link to this heading")
------------------------------------------------------------------------------------------------------------------------------------------------
Django supports [template fragment caching](https://docs.djangoproject.com/en/stable/topics/cache/#template-fragment-caching "Django 5.2")
, which allows caching portions of a template. Using Django’s `{% cache %}` tag natively with Wagtail can be [dangerous](https://github.com/wagtail/wagtail/issues/5074)
as it can result in preview content being shown to end users. Instead, Wagtail provides 2 extra template tags which can be loaded from `wagtail_cache`:
### Preview-aware caching[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#preview-aware-caching "Link to this heading")
The `{% wagtailcache %}` tag functions similarly to Django’s `{% cache %}` tag, but will neither cache nor serve cached content when previewing a page (or other model) in Wagtail.
{% load wagtail\_cache %}
{% wagtailcache 500 sidebar %}
{% endwagtailcache %}
Much like `{% cache %}`, you can use [`make_template_fragment_key`](https://docs.djangoproject.com/en/stable/topics/cache/#django.core.cache.utils.make_template_fragment_key "Django 5.2")
to obtain the cache key.
### Page-aware caching[¶](https://docs.wagtail.org/en/v7.1.2/topics/writing_templates.html#page-aware-caching "Link to this heading")
`{% wagtailpagecache %}` is an extension of `{% wagtailcache %}`, but is also aware of the current `page` and `site`, and includes those as part of the cache key. This makes it possible to easily add caching around parts of the page without worrying about the page it’s on. `{% wagtailpagecache %}` intentionally makes assumptions - for more customization it’s recommended to use `{% wagtailcache %}`.
{% load wagtail\_cache %}
{% wagtailpagecache 500 hero %}
{% endwagtailpagecache %}
This is identical to:
{% wagtail\_site as current\_site %}
{% wagtailcache 500 hero page.cache\_key current\_site.id %}
{% endwagtailcache %}
Note the use of the page’s [cache key](https://docs.wagtail.org/en/v7.1.2/advanced_topics/performance.html#page-cache-key)
, which ensures that when a page is updated, the cache is automatically invalidated.
If you want to obtain the cache key, you can use `make_wagtail_template_fragment_key` (based on Django’s [`make_template_fragment_key`](https://docs.djangoproject.com/en/stable/topics/cache/#django.core.cache.utils.make_template_fragment_key "Django 5.2")
):
from django.core.cache import cache
from wagtail.coreutils import make\_wagtail\_template\_fragment\_key
key \= make\_wagtail\_template\_fragment\_key("hero", page, site)
cache.delete(key) \# invalidates cached template fragment
---
# Customizing admin templates — Wagtail Documentation 7.2.1 documentation
* * *
Customizing admin templates[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#customizing-admin-templates "Link to this heading")
=========================================================================================================================================================================
In your projects with Wagtail, you may wish to replace elements such as the Wagtail logo within the admin interface with your own branding. This can be done through Django’s template inheritance mechanism.
You need to create a `templates/wagtailadmin/` folder within one of your apps - this may be an existing one or a new one created for this purpose, for example, `dashboard`. This app must be registered in `INSTALLED_APPS` before `wagtail.admin`:
INSTALLED\_APPS \= (
\# ...
'dashboard',
'wagtail',
'wagtail.admin',
\# ...
)
Custom branding[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#custom-branding "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------
The template blocks that are available to customize the branding in the admin interface are as follows:
### `branding_logo`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#branding-logo "Link to this heading")
To replace the default logo, create a template file `dashboard/templates/wagtailadmin/base.html` that overrides the block `branding_logo`:
{% extends "wagtailadmin/base.html" %}
{% load static %}
{% block branding\_logo %}
{% endblock %}
The logo also appears on the following pages and can be replaced with its template file:
* **login page** - create a template file `dashboard/templates/wagtailadmin/login.html` that overwrites the `branding_logo` block.
* **404 error page** - create a template file `dashboard/templates/wagtailadmin/404.html` that overrides the `branding_logo` block.
* **wagtail user bar** - create a template file `dashboard/templates/wagtailadmin/userbar/base.html` that overwrites the `branding_logo` block.
### `branding_favicon`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#branding-favicon "Link to this heading")
To replace the favicon displayed when viewing admin pages, create a template file `dashboard/templates/wagtailadmin/admin_base.html` that overrides the block `branding_favicon`:
{% extends "wagtailadmin/admin\_base.html" %}
{% load static %}
{% block branding\_favicon %}
{% endblock %}
### `branding_title`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#branding-title "Link to this heading")
To replace the title prefix (which is ‘Wagtail’ by default), create a template file `dashboard/templates/wagtailadmin/admin_base.html` that overrides the block `branding_title`:
{% extends "wagtailadmin/admin\_base.html" %}
{% block branding\_title %}Frank's CMS{% endblock %}
### `branding_login`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#branding-login "Link to this heading")
To replace the login message, create a template file `dashboard/templates/wagtailadmin/login.html` that overrides the block `branding_login`:
{% extends "wagtailadmin/login.html" %}
{% block branding\_login %}Sign in to Frank's Site{% endblock %}
### `branding_welcome`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#branding-welcome "Link to this heading")
To replace the welcome message on the dashboard, create a template file `dashboard/templates/wagtailadmin/home.html` that overrides the block `branding_welcome`:
{% extends "wagtailadmin/home.html" %}
{% block branding\_welcome %}Welcome to Frank's Site{% endblock %}
Custom user profile avatar[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#custom-user-profile-avatar "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
To render a user avatar other than the one sourced from the `UserProfile` model or from [gravatar](https://gravatar.com/)
, you can use the [`get_avatar_url`](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#get-avatar-url)
hook and resolve the avatar’s image url as you see fit.
For example, you might have an avatar on a `Profile` model in your own application that is keyed to the `auth.User` model in the familiar pattern. In that case, you could register your hook as the in following example, and the Wagtail admin avatar will be replaced with your own `Profile` avatar accordingly.
@hooks.register('get\_avatar\_url')
def get\_profile\_avatar(user, size):
return user.profile.avatar
Additionally, you can use the default `size` parameter that is passed in to the hook if you need to attach it to a request or do any further processing on your image.
Custom user interface fonts[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#custom-user-interface-fonts "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To customize the font families used in the admin user interface, inject a CSS file using the hook [insert\_global\_admin\_css](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#insert-global-admin-css)
and override the variables within the `:root` selector:
:root {
\--w-font-sans: Papyrus;
\--w-font-mono: Courier;
}
Custom user interface colors[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#custom-user-interface-colors "Link to this heading")
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Warning
The default Wagtail colors conform to the WCAG2.1 AA level color contrast requirements. When customizing the admin colors you should test the contrast using tools like [Axe](https://www.deque.com/axe/browser-extensions/)
.
To customize the colors used in the admin user interface, inject a CSS file using the hook [insert\_global\_admin\_css](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#insert-global-admin-css)
and set the desired variables within the `:root` selector. Color variables are reused across both the light and dark themes of the admin interface. To change the colors of a specific theme, use:
* `:root, .w-theme-light` for the light theme.
* `.w-theme-dark` for the dark theme.
* `@media (prefers-color-scheme: light) { .w-theme-system { […] }}` for the light theme via system settings.
* `@media (prefers-color-scheme: dark) { .w-theme-system { […] }}` for the dark theme via system settings.
There are two ways to customize Wagtail’s color scheme:
* Set static color variables, which are then reused in both light and dark themes across a wide number of UI components.
* Set semantic colors, which are more numerous but allow customizing specific UI components.
For static colors, either set each color separately (for example `--w-color-primary: #2E1F5E;`); or separately set [HSL](https://en.wikipedia.org/wiki/HSL_and_HSV)
(`--w-color-primary-hue`, `--w-color-primary-saturation`, `--w-color-primary-lightness`) variables so all shades are customized at once. For example, setting `--w-color-secondary-hue: 180;` will customize all of the secondary shades at once.
Make sure to test any customisations against our [Contrast Grid](https://contrast-grid.eightshapes.com/?version=1.1.0&es-color-form__tile-size=compact&es-color-form__show-contrast=aaa&es-color-form__show-contrast=aa&es-color-form__show-contrast=aa18&background-colors=%23000000%2C%20black%0D%0A%23F6F6F8%2C%20grey-50%0D%0A%23E0E0E0%2C%20grey-100%0D%0A%23C8C8C8%2C%20grey-150%0D%0A%23929292%2C%20grey-200%0D%0A%235C5C5C%2C%20grey-400%0D%0A%23333333%2C%20grey-500%0D%0A%23262626%2C%20grey-600%0D%0A%23222222%2C%20grey-700%0D%0A%231D1D1D%2C%20grey-800%0D%0A%23FFFFFF%2C%20white%0D%0A%23261A4E%2C%20primary-200%0D%0A%232E1F5E%2C%20primary%0D%0A%23F2FCFC%2C%20secondary-50%0D%0A%2380D7D8%2C%20secondary-75%0D%0A%2300B0B1%2C%20secondary-100%0D%0A%23005B5E%2C%20secondary-400%0D%0A%23004345%2C%20secondary-600%0D%0A%23007D7E%2C%20secondary%0D%0A%23E2F5FC%2C%20info-50%0D%0A%2380B6C7%2C%20info-75%0D%0A%231D7792%2C%20info-100%0D%0A%23186076%2C%20info-125%0D%0A%23E0FBF4%2C%20positive-50%0D%0A%231B8666%2C%20positive-100%0D%0A%23FFF5D8%2C%20warning-50%0D%0A%23FDD074%2C%20warning-75%0D%0A%23FAA500%2C%20warning-100%0D%0A%23FEF0F0%2C%20critical-50%0D%0A%23FD5765%2C%20critical-100%0D%0A%23CA3B3B%2C%20critical-200&foreground-colors=%23000000%2C%20black%0D%0A%23F6F6F8%2C%20grey-50%0D%0A%23E0E0E0%2C%20grey-100%0D%0A%23C8C8C8%2C%20grey-150%0D%0A%23929292%2C%20grey-200%0D%0A%235C5C5C%2C%20grey-400%0D%0A%23333333%2C%20grey-500%0D%0A%23262626%2C%20grey-600%0D%0A%23222222%2C%20grey-700%0D%0A%231D1D1D%2C%20grey-800%0D%0A%23FFFFFF%2C%20white%0D%0A%23261A4E%2C%20primary-200%0D%0A%232E1F5E%2C%20primary%0D%0A%23F2FCFC%2C%20secondary-50%0D%0A%2380D7D8%2C%20secondary-75%0D%0A%2300B0B1%2C%20secondary-100%0D%0A%23005B5E%2C%20secondary-400%0D%0A%23004345%2C%20secondary-600%0D%0A%23007D7E%2C%20secondary%0D%0A%2380B6C7%2C%20info-75%0D%0A%231D7792%2C%20info-100%0D%0A%231B8666%2C%20positive-100%0D%0A%23FAA500%2C%20warning-100%0D%0A%23FD5765%2C%20critical-100%0D%0A%23CA3B3B%2C%20critical-200)
. Try out your own customisations with this interactive style editor:
### Static colours
| | Variable | Usage |
| --- | --- | --- |
| | `--w-color-black` | Shadows only |
| | `--w-color-grey-800` | Backgrounds for panels in dark theme |
| | `--w-color-grey-700` | Backgrounds for panels in dark theme |
| | `--w-color-grey-600` | Body copy, user content |
| | `--w-color-grey-500` | Panels, dividers in dark mode |
| | `--w-color-grey-400` | Help text, placeholders, meta text, neutral state indicators |
| | `--w-color-grey-200` | Dividers, button borders |
| | `--w-color-grey-150` | Field borders |
| | `--w-color-grey-100` | Dividers, panel borders |
| | `--w-color-grey-50` | Background for panels, row highlights |
| | `--w-color-white` | Page backgrounds, Panels, Button text |
| | `--w-color-primary` | Wagtail branding, Panels, Headings, Buttons, Labels |
| | `--w-color-primary-200` | Accent for elements used in conjunction with primary colour in sidebar |
| | `--w-color-secondary` | Primary buttons, action links |
| | `--w-color-secondary-600` | Hover states for two-tone buttons |
| | `--w-color-secondary-400` | Two-tone buttons, hover states |
| | `--w-color-secondary-100` | UI element highlights over dark backgrounds |
| | `--w-color-secondary-75` | UI element highlights over dark text |
| | `--w-color-secondary-50` | Button backgrounds, highlighted fields background |
| | `--w-color-info-125` | Hover background only, for information messages |
| | `--w-color-info-100` | Background and icons for information messages |
| | `--w-color-info-75` | Info text in the dark theme |
| | `--w-color-info-50` | Background only, for information messages |
| | `--w-color-positive-100` | Positive states |
| | `--w-color-positive-50` | Background only, for positive states |
| | `--w-color-warning-100` | Background and icons for potentially dangerous states |
| | `--w-color-warning-75` | Background only, for potentially dangerous states, in enhanced-contrast theme |
| | `--w-color-warning-50` | Background only, for potentially dangerous states |
| | `--w-color-critical-200` | Dangerous actions or states (over light background), errors |
| | `--w-color-critical-100` | Dangerous actions or states (over dark background) |
| | `--w-color-critical-50` | Background only, for dangerous states |
### Light & dark theme colours
| Light | Dark | Variable |
| --- | --- | --- |
| Surfaces - General | | |
| | | `--w-color-surface-page` |
| | | `--w-color-surface-field` |
| | | `--w-color-surface-field-inactive` |
| | | `--w-color-surface-header` |
| | | `--w-color-surface-menus` |
| | | `--w-color-surface-menu-item-active` |
| | | `--w-color-surface-tooltip` |
| | | `--w-color-surface-button-default` |
| | | `--w-color-surface-button-hover` |
| | | `--w-color-surface-button-inactive` |
| | | `--w-color-surface-button-outline-hover` |
| | | `--w-color-surface-button-critical-hover` |
| | | `--w-color-surface-status-label` |
| | | `--w-color-surface-info-panel` |
| | | `--w-color-surface-dashboard-panel` |
| Text | | |
| | | `--w-color-text-button` |
| | | `--w-color-text-label-menus-default` |
| | | `--w-color-text-label-menus-active` |
| | | `--w-color-text-label` |
| | | `--w-color-text-context` |
| | | `--w-color-text-meta` |
| | | `--w-color-text-placeholder` |
| | | `--w-color-text-link-default` |
| | | `--w-color-text-link-hover` |
| | | `--w-color-text-button-outline-default` |
| | | `--w-color-text-button-outline-hover` |
| | | `--w-color-text-highlight` |
| | | `--w-color-text-error` |
| | | `--w-color-text-button-critical-outline-hover` |
| | | `--w-color-text-status-label` |
| | | `--w-color-text-link-info` |
| Icons | | |
| | | `--w-color-icon-primary` |
| | | `--w-color-icon-primary-hover` |
| | | `--w-color-icon-secondary` |
| | | `--w-color-icon-secondary-hover` |
| Borders | | |
| | | `--w-color-border-furniture` |
| | | `--w-color-border-button-small-outline-default` |
| | | `--w-color-border-field-default` |
| | | `--w-color-border-field-inactive` |
| | | `--w-color-border-field-hover` |
| | | `--w-color-border-button-outline-default` |
| | | `--w-color-border-button-outline-hover` |
| | | `--w-color-border-interactive-more-contrast` |
| | | `--w-color-border-interactive-more-contrast-hover` |
| | | `--w-color-border-interactive-more-contrast-dark-bg` |
| | | `--w-color-border-interactive-more-contrast-dark-bg-hover` |
| | | `--w-color-border-furniture-more-contrast` |
| Misc | | |
| | | `--w-color-focus` |
| | | `--w-color-box-shadow-md` |
Custom UI information density[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#custom-ui-information-density "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To customize information density of the admin user interface, inject a CSS file using the hook [insert\_global\_admin\_css](https://docs.wagtail.org/en/v7.2.1/reference/hooks.html#insert-global-admin-css)
. Set the `--w-density-factor` CSS variable to increase or reduce the UI density. The default value is `1`, the “snug” UI theming uses `0.5`. Here are example overrides:
:root,
:host {
/\* Reduce the UI density by 20% for users of the default theme. \*/
\--w-density-factor: 0.8;
}
:root,
:host {
/\* Increase the UI density by 20% for users of the default theme. \*/
\--w-density-factor: 1.2;
}
.w-density-snug {
/\* For snug theme users, set a UI density even lower than vanilla Wagtail. \*/
\--w-density-factor: 0.25;
}
UI components which have been designed to use the `--w-density-factor` will increase in size or spacing accordingly.
Specifying a site or page in the branding[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#specifying-a-site-or-page-in-the-branding "Link to this heading")
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The admin interface has a number of variables available to the renderer context that can be used to customize the branding in the admin page. These can be useful for customizing the dashboard on a multi-tenanted Wagtail installation:
### `root_page`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#root-page "Link to this heading")
Returns the highest explorable page object for the currently logged-in user. If the user has no explore rights, this will default to `None`.
### `root_site`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#root-site "Link to this heading")
Returns the name on the site record for the above root page.
### `site_name`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#site-name "Link to this heading")
Returns the value of `root_site`, unless it evaluates to `None`. In that case, it will return the value of `settings.WAGTAIL_SITE_NAME`.
To use these variables, create a template file `dashboard/templates/wagtailadmin/home.html`, just as if you were overriding one of the template blocks in the dashboard, and use them as you would any other Django template variable:
{% extends "wagtailadmin/home.html" %}
{% block branding\_welcome %}Welcome to the Admin Homepage for {{ root\_site }}{% endblock %}
Extending the login form[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#extending-the-login-form "Link to this heading")
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
To add extra controls to the login form, create a template file `dashboard/templates/wagtailadmin/login.html`.
### `above_login` and `below_login`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#above-login-and-below-login "Link to this heading")
To add content above or below the login form, override these blocks:
{% extends "wagtailadmin/login.html" %}
{% block above\_login %} If you are not Frank you should not be here! {% endblock %}
### `fields`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#fields "Link to this heading")
To add extra fields to the login form, override the `fields` block. You will need to add `{{ block.super }}` somewhere in your block to include the username and password fields:
{% extends "wagtailadmin/login.html" %}
{% block fields %}
{{ block.super }}
Two factor auth token
{% endblock %}
### `submit_buttons`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#submit-buttons "Link to this heading")
To add extra buttons to the login form, override the `submit_buttons` block. You will need to add `{{ block.super }}` somewhere in your block to include the sign-in button:
{% extends "wagtailadmin/login.html" %}
{% block submit\_buttons %}
{{ block.super }}
{% trans 'Sign up' %}
{% endblock %}
### `login_form`[¶](https://docs.wagtail.org/en/v7.2.1/advanced_topics/customization/admin_templates.html#login-form "Link to this heading")
To completely customize the login form, override the `login_form` block. This block wraps the whole contents of the `