Presentation of the latest Django CMS: Wagtail

Wagtail is a quite recent Django CMS. However, its young age does not keep it from having a lot of features, which we will discover in this post.

Le blog Makina-corpus

Wagtail is a quite recent Django CMS. However, its young age does not keep it from having a lot of features, which we will discover in this post.

What is Wagtail?

Wagtail is a pack of Django modules adding the features needed for a CMS. We have thus access to Django power combined with Wagtail additions: hierarchichal contents management, documents management, images libraries, publication workflow, revision, form creation, REST API, ...

The first release of Wagtail was available as soon as 2014, while the first stable release was out on 17th of July 2015. Wagtail improves quickly, its version number currently being the 1.5, each of these releases bringing its batch of new features.

Wagtail being a Django app, it is easy to start a Wagtail website from scratch or from an existing Django one. Just like Django, Wagtail is easily extensible.

Wagtail only provides an administration interface, keeping the front-office development in the hands of the developer.

The Backoffice

The back-office is the part of a website allowing its management. It's only available to administrators and contributors. Wagtail offers a user-friendly and clean interface.

Backoffice

Content Management

Each Wagtail website is structured hierarchically. A page can thus contain other pages. It is the case of the home page, which will always be considered as the website root. This is useful for organizing content: blog posts will be under "blog" page, and so on.

Content Management

Content Edition

We can see on this screenshot a StreamField, one of the flagship feature of Wagtail. The Wagtail creators have done a demonstration for the 1.0 release.

Another interesting feature is the user bar, a small vignette present directly on the content allowing a fast access to their management.

Userbar

Images and Documents management

The image management system is classic but still effective. It is possible to batch upload them from the library, or to add them directly from content edition. The possibility to add a focal point allows to make the automatic resizing of image easier and to ensure that the image stays relevant in every situation. The document management is just as simple.

Images Library

Image Edition

Form creation

Wagtail offers the possibility to make customizable forms directly from the backoffice. The submissions are available online but can also be sent by email. It is thus very easy to create polls or contact pages for example.

Form Creation

Form Submissions

User management

Users can be modified straight from the backoffice. Groups allow the management of users permissions, and thus make the definition of specific roles easier, such as contributors, editors, and so on.

User Role Management

Role Management

The Frontoffice

Wagtail does not offer a frontoffice by default. However, it uses the Django view and template system wisely. It is thus as simple to create a design for Wagtail that it is for Django. The REST API made available by Wagtail (using Django Rest Framework) also allows frontoffice creation with a JavaScript framework (Angular, React, ...).

And way much more

This Wagtail presentation is far from exhaustive, the possibilities being infinite. It is hard to imagine all the things you can do, the best way to get a good idea may be to see what already exist.

If you are interested by Wagtail, do not hesitate to contact us to express your needs.

Actualités en lien

Image
Django Python Keycloak
18/11/2021

Administrer des comptes Keycloak depuis une application Python/Django

Dans cet article, nous allons créer une application Python/Django qui agira en tant que maître sur Keycloak afin de pouvoir ajouter facilement des comportements personnalisés à Keycloak.

Voir l'article
Image
Geotrek Signalement
29/09/2021

Gestion des territoires naturels : Geotrek intègre l’écosystème Suricate

Makina Corpus, missionnée par le département du Gard, et en collaboration avec le Ministère chargé des Sports ainsi que la société Arut@m, développe une intégration du dispositif Suricate aux applications Geotrek-Rando et Geotrek-Admin.

Voir l'article
15/04/2021

Comment migrer vers une version récente de Django ?

Que ce soit pour avoir les dernières fonctionnalités ou les correctifs de sécurité, rester sur une version récente de Django est important pour la pérennité de son projet.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus