I just recently helping a friend launch his photography website, done entirely in Django 1.1.
I'm pretty impressed by how much Django has improved since the 0.96 days. The best new feature IMO is the addition of annotate
and aggregate
in the db models. (see documentation)
The forms (previously known as newforms), generic views, and automatic admin makes developing new websites a breeze.
My biggest gripe with Django is still the template engine. With more advanced template engines available for Python (Mako, Jinja2, Genshi), it would be nice if Django is able to support those nicely. You could technically write your own render_to_response
function that uses, say Jinja2, but then you're still stuck with Django's template engine for admin and generic views. Oh well.
Why use another engine? Not because they're faster (I highly doubt your bottleneck is template rendering), but because
they have more advanced feature sets. With Django, there are cases where I'm forced to not adhere to the
DRY philosphy. For example, if I want to define a block
of text/HTML in a child template and have it applied to more than one location in the parent. In Mako I can use a `
And I also wish Django had a Pylons' interactive debugger. That thing is genius!
All in all, I still love the Django pony. Like I said, it makes website development a breeze.