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 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.
Check out my other blog posts! If you found this post interesting, feel free to let me know either on Twitter (@Isaac_M_Jordan), or in the comments section below.
Enjoyed my post? Sign up to the newsletter to receive a small email when I post. No spam, I promise.
Andrei on March 24, 2017, 12:26 p.m.
I was looking for a Django CMS that I could use for building up my own blog and decided to go with Wagtail. On http://madewithwagtail.org/, while looking for inspiration, I stumbled upon your blog . I really like your simple structure and how nicely clean you keep it. It's a bummer you've never gotten to write those several blog posts about your experience with Wagtail like you said in this post. Your code snippets would have come in quite handy, too.
Anyway, I just wanted to leave this comment so it might serve you as motivation to work on such projects in the future.
Isaac Jordan on March 24, 2017, 12:29 p.m.
Hi Andrei, thanks for the comment! I'm sorry about the issues you had posting, my spam detection system had some issues that I didn't have time to figure out until now.
I agree it is a bummer I haven't got around to those blog posts! I've added it in to my task manager due to your comment - so it's definitely motivation! Thanks for the kind comments about my site :)
Michael Yin on July 4, 2017, 8:12 a.m.
Hi, thanks for your good post about wagtail. Actually, I have also rebuild my personal blog using wagtail.
However, during the development, I found out that there is no good, detailed tutorial teaching people how to create a personal blog based on wagtail, and some points about wagtail are missing in official doc, so I create a wagtail tutorial hoping it can fill the gap.
The tutorial is at https://blog.michaelyin.info/wagtail-tutorials/ , 5 posts have been published. I would appreciate that if you can give me some suggestion about this tutorial.