Read Time: 1.77 minutes

This is first installment in our PoC to check multiple CMS providers. ButterCMS is easy to setup and use. You don't have to go back to deployments or dashboards other than ButterCMS. Good thing. Bad thing is service very costly.


I have already build several blog applications as well as dynamic content sites. Where we want to update content based on demand not like blog. I have heard about CMS providers like ButterCMS, Contentful, strapi, etc.

I have already tried wordpress and wagtail. They are very easy to setup and get going with basic features. Provides clean, simple interface. It works as long as you are okay with provided templates and keep posting your posts daily. The main problem arise once you want different look or some customization. There are hundreds of plugins, templates and tools for wordpress but free usage is limited or features are included in paid service. I am not wordpress developer so that can be little pain.

Developing blog application with django is good and very handy. You can choose required field, create orm and you done. For template purpose you can create one using Bootstrap or Tailwind.
Or visit free Jykll Templates site - https://jekyllthemes.io/free and download one. Format HTML according to your pages with jinja template. You are done.

With django, problem arise if you wanted to integrate modern tool or move site structure. Database remain tightly coupled and you need transform it or do lots of work around.

I think same problem with CMS providers will arise. We need to check if we can download data or not. We should atleast able to download content as json.

I remember for one of my project I have to transform long json with uploaded images and later covert them. And upload to image service provider to make application dockerized.

Today we are going to check Django and ButterCMS setup. How it works and what flexibility it provides. Next time we will test another one.

Create Free account on ButterCMS and choose django/python. Steps are provided by ButterCMS.

git clone https://github.com/ButterCMS/django-starter-buttercms.git
cd django-starter-buttercms
python3 -m venv butterenv && source butterenv/bin/activate
pip install --upgrade pip && pip install -r requirements.txt
echo 'BUTTERCMS_API_TOKEN=example-token' >> .env
python manage.py runserver


Quick setup done.


ButterCMS have done good peace of work here. They manages all navigation, pages, blocks, sections on their dashboard. Client gets update as soon as changes are stored on dashboard via API. For new posts, TinyMCE with Title, Meta Tags, Seo used.




We tried edition some section and its effects. They are working great. Only factor I was worried is that pricing. Pricing it based on number of posts and monthly basis. That's too much for it. Free version looks good so far but it's trial. Where Django blog costs only 7$ per month.

Plus Points are easy setup and seamless pages updation. I liked it very much. ButterCMS is useful for organizations but not for habby users, developers.

We will go through other CMS providers soon