Trying out Django-cms

I tried installing django-cms, an open-source project from Switzerland’s company Divio. It is a content management system based on the web framework Django and is written in Python.

Among the interesting features of DjangoCms (besides the fact that it is based on django, which I happen to have fun with in most of my programming work):

  • Flexible Plugin Architecture. Build flexible pages with a wide range of plugins.
  • SEO Optimization. The structure of the pages is optimized for SEO.
  • Editorial workflow. Workflows for publishing and approval.
  • Permission Management. Set specific rights to different users.
  • Versioning. Each modification of the page will be saved. You can restore any state you wish.
  • Multisites. Administrate multiple websites over the same admin interface.
  • Multilanguage. Support for different languages (i.e. arabic, chinese or russian)
  • Applications (Apps). Add apps to different pages of the CMS.
  • Media Asset Manager (MAM). MAM allows you to manage all kind of assets (pictures, PDFs, videos and other documents).
  • It’s quite interesting to check out the other alternatives too, if you want a django-based CMS. This comparison webpage has all the info you need.


    Getting to the meaty part: here are the steps I followed during installation:

    1. went to gitHub and tried to install the latest version available (2.1.0.beta2). Tried to run the example app within that package, but it was throwing too many errors so I decided to go for the 2.0 stable release (

    2. This version worked fine, I just had to set the MEDIA directory giving using the full path on my machine, and remove all references to ‘South‘ and ‘Reversion‘ django apps (in ‘installed apps’) cause I don’t use them.

    3. fill out the DB specs as needed (‘DATABASE_ENGINE = ‘sqlite3’), update the DB using ‘python syncdb‘, and then start the server using ‘python runserver

    4. That’s it. Go to /admin, set up some pages, add content and see the result.

    Screen shot 2010-08-03 at 14.19.23.png

    The templates that come by default are good at giving you an idea of how the information is structured and retrieve, but they are a bit messy in my opinion. So I created my own template and added it to the default ones (all the info on how to do this on the official docs)

    Screen shot 2010-08-03 at 14.22.04.png

    The end result: not a masterwork, but a decent starting point for certain!

    Screen shot 2010-08-03 at 14.26.29.png


    Other places online where you might find useful django-cms tips:

    – django-cms mailing list on google groups
    – another mailing list on

    That’s it for now. I like very much the plugin architecture (plugins or extensions can be downloaded here), maybe I’ll be posting some more about that in the future…


    Comments are closed.