Skip to content
Go to file


Failed to load latest commit information.
Latest commit message
Commit time


This project is from my book Build Blog With Wagtail CMS (second version)

Note: If you are interested in React, Storybook and Wagtail, you can check wagtail-react-blog


This book will teach you how to build a modern blog with Wagtail CMS

By the end of this course, you will be able to:

  1. Understand Docker and use Docker Compose to do development
  2. Create blog models to work with Wagtail.
  3. Import Bootstrap themes to the blog.
  4. Use PDB and Django shell to debug, test code and check data in terminal.
  5. Learn to use RoutablePage and add Date to the post url.
  6. Build Pagination component and correctly handle querystring.
  7. Make the blog supports wirting in Markdown and Latex.
  8. Create contact page using Wagtail FormBuilder
  9. Build menu, meta tags, sitemap, robots.txt for better SEO.
  10. Build comment system based on django-contrib-comments which support Generic Relations
  11. Understand how to use Webpack to bundle frontend assets and make it work with Django project.
  12. Learn SCSS and use it to customize style in quick way.
  13. Use Tribute.js, Axios to add Mention and Emoji support to the comment form.
  14. Learn Async/Await, Promise and the benefits.
  15. Deploy the production app to DigitalOcean


  • Python 3.8
  • Django 3.1
  • Wagtail 2.11
  • Node 12
  • Webpack 5
  • jQuery 3.5.1
  • Bootstrap 4.5
  • Tribute.js
  • Axios

How to run on local

You need Docker and Docker Compose and you can install it here Get Docker

$ git clone
$ cd wagtail-bootstrap-blog
# build and lanch app
$ docker-compose up --build

Now open a new terminal to import data and change password.

$ docker-compose exec web python load_initial_data
$ docker-compose exec web python changepassword admin

Now you can check on


The demo is also online if you want to check.


You can’t perform that action at this time.