[Tutor] Python CMS advice wanted

Alan Gauld alan.gauld at btinternet.com
Thu Nov 29 01:43:34 CET 2007

"Richard Querin" <rfquerin at gmail.com> wrote

> After reading it all I'm wondering if maybe a templating system like
> Cheetah might be the way to go for us.

For a simple CMS a templating system like Kid or Cheetah are
probably all you need. If you want to include dynamic content
add CherryPy or similar to translate HTTP requests into Python
method calls. Finally if you use a database then look at an
Object Relational Mapper (ORM) such as Alchemy. And if
you need all three opt for TurboGears(which is simply a packaging
of Kid, CherryPy and Alchemy) or Django (which is a more homogenous

But having looked at several web frameworks, including non-Python
ones they are all pretty much tackling those three areas:
1) Mapping HTTP requests to functions/methods
2) Template systems to decouple application and presentation
3) An OOP link to a database

In short, it won't make much difference which you use if your
needs are basic and conventional.

> reading and exploring. I'd love to learn something like Django but
> like it has been said, that's really a framework you'd use to build 
> a
> CMS.

I disagree, Django is a system to make building web sites easy.
A CMS manages content on a web site and includes all sorts of
features that Django doesn't and most folks don't need unless they
have thousands of pages and need to allow non technical users to
dynamically add new pages without coding. Products like Zope
and BroadVision (a commercial alternative) are CMS capable
of managing sites like Amazon or Expedia, but most small web
sites with only a few dozen pages get by with simple templates.


Alan Gauld
Author of the Learn to Program web site

More information about the Tutor mailing list