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.
Most Related Posts
Popular Posts Using Jekyll and GitHub Pages (or, Why I'm Moving To Django)Why you can't easily do fancy things that require remembering state with GitHub Pages.
Amazon Development Centre Interview ExperienceIn a previous post, I spoke about my application experience for an Amazon internship. Here's how the interview stage went.
Enjoyed my post? Sign up to the newsletter to receive a small email when I post. No spam, I promise.