What Is Wagtail? - Django CMS
In my last post I mentioned that I wanted to move this website to a more flexible platform. I suggested at the end of that post that I was probably going to use Mezzanine as a Django-based Content Management System (CMS). Mezzanine is a collection of pre-built Django applications that make building a new CMS website fairly quick (if you are familiar with Django in general).
I spent a couple of days setting up a Mezzanine project, and playing around with what the platform offers (and what the community provides). In the end, I was really frustrated as Mezzanine seemed much more locked-down than what I was looking for. I struggled to find ways to customize the website easily, to add my own styles, and to add pages that weren’t governed by the CMS. After realising these struggles, I decided to keep searching.
The solution actually came from a comment to my previous post on Reddit. A user by the name of /u/jollybobbyroger suggested I check out Wagtail and said that his experience with Wagtail had been very positive.
Wagtail is a Django-based CMS built by Torchbox that provides much less pre-built functionality than Mezzanine, but in return provides A LOT more flexibility. Using Wagtail I’ve managed to keep the look-and-feel of my site almost exactly the same as before, but improve the things I didn’t like about using a static Jekyll-based site.
I’ve replaced Disqus comments with a “native” system that stores comments in my own database - using Django Fluent Comments. I’ve added newsletters with Django-Newsletter, and I’m currently implementing custom functionality to allow commenters to easily sign-up to the newsletter as well as be notified of when someone replies to their comment.
I’ve also re-created my Professional Profile page (Edit: This page no longer exists) so that all the content can be modified from Wagtail’s awesome admin interface.
I plan on creating several more blog posts about working with Wagtail that provide code-snippets on implementing a website built on Wagtail. As of posting this post, IsaacJordan.me is still using the Jekyll system, but in a week or two my new version will be feature complete enough to move it to production.
If you enjoyed this post, please check out my other blog posts.