Picking up Django

tabo: Django, Or why I chose it over turbogears and ruby on rails. That was pretty much what I have been through. I was also at a stage deciding on a frame work for a new project. While I have done most of freelance web development on PHP previously, as a Python developer of almost 6 years, I decided to look out for a Python-based frame work this time.

I don't have his issues with TurboGears. I guess the difference is, I belong to the side of "cheap hosting" than dedicated server, where mod_python is not feasible but at least I have access to Python 2.4, which I myself prefer because of the decorator syntax. I actually liked Kid as it forces me to write legitimate XML, CherryPy feels neat, and MochiKit makes Javascript almost as easy as Python.

However, at this stage the only show stopper for TurboGears is its dependency on setuptools, which is not trivial to install on shared web hosts without terribly looking hacks.

On the other hand, Django works well without setuptools, and there's even a how to for DreamHost. Documentation is considerably better than TurboGears (though you still need to look into the source code to work out the magic). It is also easy to integrate Kid and MochiKit into a Django deployment.

Afterall, both of them are great toolkits that represent the next generation of Python web frame work. I still don't like the ORM approach for all these new frame works, but I guess for small sites with simple functionality, they should have no problem scaling.

Update: Deploying TurboGears on DreamHost. Nice. Except that you need to compile your own version of Python and install it inside your home directory. Yuk.