Wordpress alternative using Python

Why is there still no Python-based alternative to WordPress? Let’s take a look at the existing solutions available for managing content in Python.

Wordpress alternative

Good News! There are alternatives.

Some of the CMS solutions we tested in Python:

Problems we had

They work - sure - but all of them forced us to use their whole stack. They require you to install a big package and you can’t simply add them to your existing projects.

With frameworks like Django in Python, Laravel in PHP and Rails in Ruby you can easily create a simple blog-admin-interface (title, text, image) in a few steps. But do you really need to blow up your project with CMS functionality when you can have a decoupled service?

Headless/API-based CMS are now opening the field for more programming languages by not forcing you to use one specific technology - also hosting for Python and Django projects got a lot easier - thanks to Heroku & Divio Cloud.

Let’s compare some CMS types

Traditional/CoupledDecoupled/HeadlessStoryblok
Platform agnostic
Free choice of technology
Frontend editing capabilities
Highly customizable frontend
Easier to scale for high traffic
Themes and templates
Support for native apps
Page-centric approach
Code simplicity
Custom field types
Localization

The future proof alternative

Sometimes we already have a Python/Django application up & running and simply want to plugin a CMS for our editors. With the next generation of CMS this is now easier than ever.

Introducing Storyblok

Storyblok the next-gen API-based CMS is built to augment your web framework or the technology you already use with powerful frontend editing capabilities to bring your static websites to life. Different from other API-based CMS solutions the editor can directly work on the front end of the website. With an intuitive interface like that you don’t need to give trainings for your clients to let them figure out what happens when they fill out a form in an old school CMS.

“Talk is cheap. Show me the code.” - Linus Torvalds

I want Python - Now!

We wrote an article on how you can add an API-based CMS to Python/Django in about 5 minutes - the best thing - the customization options are endless. It’s the ideal choice for creating landing pages, complex grid/column layouts and of course blog entries.

Next: Learn about components

How thinking in components can increase your productivity? Components are units of code that are nestable, reusable and decoupled. They help you to don’t repeat yourself writing the same functionality or HTML tags multiple times. They ease the process of thinking because in the world of components everything is just a component. You don’t need to figure out how to structure your project in logical parts. This makes your project also much more maintainable when you work in a team.


More to read...

About the author

Dominik Angerer

A web performance specialist and perfectionist. After working for big agencies as a full stack developer he founded Storyblok. He is also an active contributor to the open source community and one of the organizers of Stahlstadt.js.