February 25th, 2008
Anyone who watches the Python jobs/contracting market will have noticed by now that Django has firmly established itself as the de-facto python-powered webapp platform. Turbogears doesn’t even appear on the horizon. Not quite as bad as HD-DVD vs Blu-Ray but close.
This is a bit unfortunate for me, having written thousands of lines of code within Turbogears/CherryPy. I attribute Django’s win to a couple of thing
1. The django website and documentation are better
This is pretty important, and partly related to point 2. To find proper docs on TG you need to dive off into the websites of other projects, which are of varying quality/completeness.
2. They own all the code
This too is important. With Turbogears you get a bit of a ‘mish-mash’ feel at times. Bugs upstream occasionally don’t get fixed for months. The API (such as there is) seems to change too much between releases.
Anyway, I’m having a play with Django. My first site will be a web2.0ish effort which will first collect together all the #aber topics for as many years as can be found, then push the lot into a database and allow people to rate, tag, and comment on them. So far it’s parsing the topics out of xchat log files.
First impressions of Django:
- Documentation is great
- Template system is ugly (everyone says this)
- Database API is nice. Handier than SQLObject, but not as abstruse as SQLAlchemy
- Rule/Regex based url dispatch is ok, but I didn’t really have a problem with the CherryPy style
- The modularisation of sub-apps within a ‘website’ is cool but I’m not sure of a use yet
- The admin system seems to have little use other than in debugging or if you were writing a straight content publishing site. Nice though.
Posted in Python | 16 Comments »