Learning Django

I’ve been working on a major (but secret) project with some friends, and we’ve decided to use Django. And I’ve been diving into the framework in a lot more depth than I ever had in the past. And at the same time the Django book, which I originally ordered on Amazon in July 2006 finally arrived ;)

It’s been good to get inside the heads of Adrian and Jacob and the rest of the Django team a bit more and try to understand not just how everything works, but why the Django team made the decisions they made.

Of course, all this is good for my secret project, and for me as a programmer, but I think it’s also good for TurboGears too. It’s pretty clear that we should not reinvent the wheel in tg2, so it’s important to see how others have solved the same problem set. And it’s also clear that there are some good things we can learn from our friends who hack on Django. :)

A lot has been said, about the philosophical differences between Django and TurboGears, and I’m definitely learning more about those as I go. But at the same time, I’m learning that have a lot of philosophical similarities, which are often ignored. We’re both committed to providing a “full” web programming environment, to relational databases as the “standard” storage engine, to and to a flexible adaptation of the MVC (Model View Controller) pattern to modern web development. We’re both committed to making the web development experience as “pythonic” as possible, and to providing simple patterns which help developers avoid “grunt work” and get down to the interesting parts of web development. And we’re committed to providing an easy learning curve with as few unexpected complexities as possible.

the same but Different!

Of course, that’s not the whole story.

We have some very significant differences too, and I guess that it’s inevitable that we see differences as more interesting than similarities. So, I’ll probably be blogging more about our differences over the next few weeks. But that shouldn’t overshadow the fact that I’m finding that “The Django Way” is more similar to “The TurboGears way” than I expected. We really are trying to work out the Zen of Python in our different ways, and it’s pretty clear that we’ve got a lot of the same inspirations “under the hood.”

3 Responses to “Learning Django”


  1. Sweet — I’m really looking forward to what you can shake out. I’ll buy you some drinks at PyCon and we can talk about it :)

  2. 2Steve Bergman

    I’m very excited to hear that you will be posting more on this topic, and am very interested in your thoughts. I’m really enjoying Django these days. In particular, I would be interested in your views on the decision of the Django team not to incorporate any sort of javascript library into the framework. I did not like that aspect at first. But now that I am actually learning some jQuery, I’m finding that maybe the framework does not need to have built in support.

    The online documentation is great. And I, too, recently received my copy of the excellent new Django book.

  1. [...] to Mark Ramm (of TurboGears, who would have thought that!) for pointing me to [...]

Leave a Reply