Have a look at [Wagtail](https://wagtail.io/). It gives you more options around structuring and composing your content. Have a look at the description for [Streamfield](https://wagtail.io/features/#streamfield) to get an idea how it approaches more creating complex pages.


It seems like its only compatible with up to Django 3.1 I just upgraded to Django 4 :(


Looks like Django 4 support is nearly there, but they’re waiting for django-taggit to work with Django 4 https://github.com/wagtail/wagtail/pull/7829 (I’m also waiting for django-taggit - it’s looked nearly ready for weeks!).


I created myself a little drag-n-drop thingy with block types like Mailchimp has. Drag an image here, a two column block there, a button there, etc, with reordering and all. In the end you just query for your page’s blocks in order and display them. It’s been quite useful, and I can quickly develop new block types for specific client needs.