Giving users the option to choose a template and create content

We want to give users CMS-like capabilities and customize their personal page a little bit. They should be able to:

  • choose among a predefined list of templates with different layouts, blocks and content
  • switch between templates (i.e. having an active one) which is the one that will be rendered when you visit their page
  • add/edit content to the different blocks of the template, like changing their cover image, editing the about section, adding announcements, etc.

I’m sure there must be a Django package for this. How do you suggest I go about this? Also asking about the frontend and how users would actually edit their page (like a CMS).

I’ve briefly used Django CMS before but it seems more like a way for developers to quickly create pages rather.

#3 is beyond what Django provides out of the box. You can check for some ideas, but some brief research on my part fails to find anything that really looks like it satisfies what I believe to be the heart of the requirements.

Certainly, you can build something like this. I’m just not aware of any existing projects, packages, or scaffolding to support it.