share
Stack OverflowWhat is a good CMS written in Python (and not Plone)?
[+101] [15] Seth
[2008-10-08 20:29:11]
[ python content-management-system ]
[ http://stackoverflow.com/questions/184742/what-is-a-good-cms-written-in-python-and-not-plone ] [DELETED]

I've been doing CMS sites for clients using Joomla for a while now, but I've been migrating a lot of my coding over to Python and have been looking for a good CMS solution that's written in Python.

Most of what I've seen so far is either Zope based (Plone) or Django based. I'm not totally opposed to something written in a Python framework such as Django, but I don't want to use Zope (seems to me to have too much "bloat" for something like this).

Is there anything in the Python community like Joomla? I know I could always "roll my own", but I'd rather use something pre-built (if there is such a thing).

Thanks for your time, Seth

[+38] [2008-10-08 21:25:57] Peter Hoffmann

The pinax [1] project is a kind of django bundle with some modules to build community sites. It is a good start to build your cms on it. There is a video [2] available presenting it a djangoconf.

Feature List:

  • openid support
  • email verification
  • password management
  • site announcements
  • a notification framework
  • user-to-user messaging
  • friend invitation (both internal and external to the site)
  • a basic twitter clone
  • oembed support
  • gravatar support
  • interest groups (called tribes)
  • projects with basic task and issue management
  • threaded discussions
  • wikis with multiple markup support
  • blogging
  • bookmarks
  • tagging
  • contact import (from vCard, Google or Yahoo)
  • photo management

(from their website)

[1] http://pinaxproject.com/
[2] http://jtauber.com/blog/2008/09/16/my_talk_on_pinax_at_djangocon/

1
[+22] [2008-10-08 20:35:20] Jason Baker [ACCEPTED]

Unfortunately, there's really not a lot of mature CMSes out there for Python. Here are a couple of choices though:

  • Skeletonz [1] (still in beta)
  • PyLucid [2] (haven't actually tried them out, but couldn't get past the constant grammatical and spelling errors) (which are probably because it's made by Germans)
  • MoinMoin [3] is very mature, but isn't really made for CMS stuff. With that said, if you spend some time with it, you can mod it to do CMS-like stuff.

So with that said, your best bet may actually be to roll your own in Django or something similar.

[1] http://orangoo.com/skeletonz/
[2] http://www.pylucid.org/
[3] http://moinmo.in/

(1) Skeletonz development has stopped at version 1.O the last time I looked... - Alex Boschmans
2
[+22] [2012-01-27 14:36:21] roberkules

At the moment there is a relatively new one in active development named Kotti [1] ( Github [2]).

List of CMS, taken from http://wiki.python.org/moin/ContentManagementSystems

BAOW [3] is a lightweight content management system based on SQL database (Firebird/InterBase, MySQL, PostgreSQL, SQLite).

Django [4] offers elementary support for content management (and was initially derived from the lower levels of a commercial content management system).

django-cms [5] written on top of django. Provides a full cms stack with the power of a webframework under it. Easily extendable.

ikaaro [6] offers content management functionality.

KPAX [7] is a complete CMS solution based on web2py [8]. It provides wikis, blogs, news, rss feeds, surveys, assignments, web pages, versioning, group based roles, Central Authentication System, upload and downloading media streaming, embedded media player, wysiwyg editor, ajax search, customizable templates. Works with SQLite, MySQL, PostgreSQL, Oracle or MSSQL. Can be downloaded from the web2py appliances repository [9] (broken)

Leonardo [10] extensible content management system, architected in a REST-like style. Initially focused on providing for personal websites with a password-protected wiki and blog (including Atom feed). It can be run as CGI and uses the filesystem as a database. v0.7.0 released: 2006-03-09

Madpy [11] is built on top of apache [12], mod_python [13], postgresql [14] and cheetah [15] templates. Supports creating content in more than one language, clean url's , url to object mapping and madata an MVC like mechanism.

MediaCore Video CMS [16] is an open source media focused content management system. It features video & audio support, YouTube & Vimeo integration, podcasting, iTunes RSS generation, user-submitted content, embedded media player, wysiwg edior, search, and is highly customizable. There is both a front-end for users and a back-end for administrators. It is built upon Pylons, SQLAlchemy, MYSQL and runs with Apache, Fast_CGI or Mod_WSGI.

Merengue [17] is a fully featured CMS framework built on top of Django framework [18]. It’s not only a plug-and-play CMS but a framework to build CMS sites > at top speed with clean and re-usable code.

PyLucid [19] is a lightweight CMS written in Python WSGI. No shell account is needed. To run PyLucid you need a standard Web server with Python (at least v2.3), CGI and mySQLdb.

Skeletonz [20] is simple, powerful, extensible, reliable. Has been in development since October 2005. Ajax based editor with spell checking & UTF-8 support. High performance: best result is around 600 request/sec. Open source, GNU GPL.

ACRCms [21] Flexible Web CMS based on Turbogears and SQLAlchemy

So as @Jason Baker already mentioned, there are not a lot of options in the python world. From my point of view the only mature CMS are plone [22], django-cms [23] and merengue [24]. And maybe soon Kotti [25] can catch up.

[1] http://pypi.python.org/pypi/Kotti
[2] https://github.com/Kotti/Kotti
[3] http://sourceforge.net/projects/peo/
[4] http://www.djangoproject.com/
[5] http://www.django-cms.org/
[6] http://www.hforge.org/ikaaro
[7] http://www.vimeo.com/1098656
[8] http://www.web2py.com/
[9] http://www.web2py.com/appliances
[10] http://jtauber.com/leonardo/
[11] http://www.madpy.org/
[12] http://www.apache.org/
[13] http://www.modpython.org/
[14] http://www.postgresql.org/
[15] http://www.cheetahtemplate.org/
[16] http://mediacore.com/
[17] http://www.merengueproject.org/
[18] http://www.djangoproject.com/
[19] http://www.pylucid.org/
[20] http://orangoo.com/skeletonz/
[21] http://www.acrcms.org/
[22] http://plone.org/
[23] http://www.django-cms.org/
[24] http://www.merengueproject.org/
[25] http://pypi.python.org/pypi/Kotti

(4) Looking at Merengue web site and developers' mailing list, it looks as though things have been pretty quiet. It looks as though the Python CMS world is fairly full of abandon-ware. - Craig McQueen
3
[+14] [2010-01-05 23:09:22] Jeff

Considering this now it looks like the two best contenders are Django CMS 2.0 [1] and Fein CMS [2]. They're not as complete as Drupal, but may be a better choice in contexts where you want to write code alongside a CMS.

[1] https://www.django-cms.org/
[2] http://www.feincms.org/

4
[+7] [2008-10-08 21:00:08] Jason Etheridge

I did a similar investigation a while ago, and settled on Plone. It does wrap most of the Zope complexity fairly well, but it continues to seem heavy-weight for what it does. Then again, the functionality offered is fairly substantial, so some trade-off in terms of increased complexity should be expected.

I'd recommend giving Plone a go; the unified installer means you can build and run it up very easily (it includes its own version of Python, stuck as it is on 2.4).

All that said, if I wanted to build another CMS-based site, I'd go with something non-Python, such as Drupal (PHP).


(1) can elaborate why you'd not go with python? - Javier
(6) I think the reason why is because the PHP based CMS's seem to be far more mature currently. - Chris
5
[+6] [2012-03-04 06:58:37] Narendra Yadala

Mezzanine [1] is an elegant open source content management platform built using the Django framework. It is BSD licensed.

More about Mezzanine can be found at https://github.com/stephenmcd/mezzanine

[1] http://mezzanine.jupo.org/

6
[+5] [2011-01-25 10:23:33] smartin

Take a look at Merengue CMS [1], is a new django CMS with a lot of features:

  • Pluggable
  • GIS integrated
  • Out-of-the-box caching
  • Page sorting, Drag and drop, WYSIWYG Editor
  • Theming
  • Full featured management interface
  • Collaborative edition
  • i18n. Translation tools (django-inlinetrans,django-transmeta,Transhette)
  • South
  • pypi
  • Extensible data schema. Not hierarchical pages
  • Unit tests and selenium test suites

Check the demo site.

[1] http://www.merengueproject.org/

7
[+3] [2010-10-07 17:58:52] Epeli

Lighting Fast CMS [1] is a promising new kid on the block.

I'm looking forward on its development.

LFC is Django based.

[1] http://www.lfcproject.com/

8
[+2] [2012-04-16 14:14:24] Sarah Worthy

Tendenci (http://tendenci.org) is written in python, on a Django framework and we released this CMS into the open source community April 3rd.

We would love to have python developers download it and use it. Tendenci's public repository is available at http://github.com/tendenci/tendenci Tendenci includes a plugin builder module to add custom plugins and if you create a plugin, let us know and we'll link to it on our site.

Tendenci CMS is a very robust content management system specifically developed to provide nonprofits with websites that include integrated online payment with merchant account gateways, event registration, memberships, job boards, business directories, and more. The system is designed to be easy to use as a nonprofit admin and easy to customize the design and code for the technical community.

If you have any questions, just ask me: sworthy@tendenci.com.


9
[+1] [2008-10-08 20:51:38] swilliams

The code that runs djangoproject.com [1] is good, but not really released as a package. You can grab the source [2] though, and tweak it for your needs.

[1] http://www.djangoproject.com/
[2] http://code.djangoproject.com/browser/djangoproject.com/django_website/

10
[+1] [2010-01-27 01:30:56] user254097

If you are looking to manage media or podcasts a good python-based CMS solution is MediaCore [1]. It just launched this last week and really looks like a solid content management system. The design is sleek and for organizing, tagging, and managing videos or podcasts it looks like a great solution.

[1] http://getmediacore.com

11
[+1] [2010-10-27 10:43:49] Sebastian Tänzer

It might look a bit oldfashioned but you should give ZMS a try:

http://www.zms-publishing.com/


Is this written in Python? I took a look at the website but I couldn't tell from what I read. - Ian R. O'Brien
12
[+1] [2011-12-12 10:20:33] Mbuso

I would say Django [1] is one of the better options out there. Version 1.3 has been released and with things like the form processing, out-of-the-box admin site and templating language a very good option.

[1] https://www.djangoproject.com/

13
[0] [2012-04-21 20:09:47] cyanos

Check out this link for a grid comparison: http://djangopackages.com/grids/g/cms/

It evaluates both frameworks and apps against a number of criteria (WYSIWYG, tests, documentation, SEO, plugins, i18n, etc)


14
[-3] [2009-03-21 06:56:45] Miuler

Python

zope2 + CMS = plone < Zope3 + CMS = Z3Ext

(http://z3ext.net/)


15