Amazed at Django

I spent this weekend working on a new portal site for which I had the idea a couple of days ago (yeah, I know — weekends are for something else; but it was absolutely freezing cold here in Germany, so I succumbed to my inner geek). I’m building the site using the Python Web framework Django and I am absolutely amazed at how productive that feels.

I’ve completed most of the data model and built several pilot pieces of functionality, such as logging in and out, registering as a new user, maintaining a personal user profile, uploading pictures, a personal homepage and personalized albums with all the images a specific user has uploaded to the site — along with dynamic thumbnails in any given size. I know that there’s still a lot of ground to cover. Especially in the area of fool-proofing and tightening the whole thing; testing for and catching all kinds of bad errors. But then the net result is really astounding for roughly one-and-a-half days of work. Bear in mind, I’m learning Python and Django while I go along. I’m usually a Java guy.

Hats off to the Django guys!

What I liked best was how easy it is to change the presentation and the layout of the whole site since I spent some time understanding the template mechanisms and template inheritance and putting some initial thought into how I can apply this in a way that makes sense to me. Taking the whole site from a rubbish layout I threw together myself to a polished layout from oswd.org was literally just a matter of changing one file — the master template. I think that when I settle for a final, professional, layout it will be just as easy and straightforward to apply to the site. So, if you’re just starting out with Django and embarking on a new project, and you take just one piece of advice from me (not that I have that much more to give this early into the game), pay close attention to the template inheritance documentation. Plan one step ahead and build a decent base template. You won’t be sorry.

My only complaint is the Django documentation. Not that it doesn’t exist; it does! It’s also quite well written, which should be no surprise since Django comes from a publishing background. Unfortunately, the documentation seems to be scattered across remote places of the Django web site and I can’t for the life of me find a decent (i.e. complete) documentation index or a search field on the Django site. So I spent half the day using Google with intitle:Documentation site:djangoproject.org just to locate a vital piece of information that’s hidden away behind some obscure hyperlink somewhere on the Django page. But at least there’s a Django book on the way. I’m a sucker for books.

Technorati Tags: , ,

Bookmark on del.icio.us
Add this post to digg.com
Bookmark on reddit.com

Posts related to this one:

4 Responses to “Amazed at Django”

  1. import this. » Blog Archive » Hats off to the Django guys Says:

    […] Daniel Tietze is working on a new project and is using Django to make it work. He certainly seems to like it. […]

  2. Adrian Holovaty Says:

    Thanks for the nice writeup! Yeah, we should put a search engine on the documentation page. I’ll see if I can whip something up. Thanks for the suggestion.

  3. Adrian Holovaty Says:

    I’ve added a search box to the right sidebar of the main documentation page. Thanks again for the suggestion.

  4. Daniel Tietze Says:

    Wow - that was quick. Great! But I’m still looking forward to the dead-tree version.

Leave a Reply