Book Review: The Definitive Guide to Django

I’m working on a new web-based project, and continuing the process of
learning django, so I was very pleased to receive my copy of The
Definitive Guide to django
by Adrian Holovaty and Jacob Kaplan-Moss in
the mail recently.


The book is divided into 3 sections. The first, including chapters
1-8, covers introductory material such as setting up a project, using
the template system and database layer, etc. This was familiar material
after several readings of the tutorials on the django web site, but
it has been cleaned up and organized nicely in the book.

The second section (chapters 9-20) cover “subframeworks” and dig
deeper into topics which, while documented online, I’ve found to be more
difficult to “discover”. The chapters on generic views, syndication and
site-map generation, and caching were particularly helpful. I also
appreciated the advice on production deployment in chapter 20. Some of
the mystery has been removed from these topics, and I learned about
features I didn’t even realize existed.

The last section, consisting of 8 separate appendixes, is a reference
manual for the various layers of django. All of the topics covered in
the main part of the book are included with more concise descriptions of
methods and more complete listings for functions or methods not
discussed earlier.

My Review

I’m glad I bought the book. It presents much of the same material you
can find online, but having it available in book form made it easier for
me to read without being distracted by trying the material at the same
time. I like to read, absorb, then try when I’m learning about a new
technology, and I find it much easier to read and absorb away from the
computer where there is no temptation to try writing code before I’m
really ready.

The writing is easy to read, but not dumbed down. Between the holidays
and the writing style of the book, I was able to blaze through the whole
thing in about a week’s time (I admit to skimming parts of the reference
section during that initial reading). There is a good mix of factual
information and best practices tips with arguments backing up the
opinions. You don’t have to agree with the suggestions, but you are more
informed after reading them.

I’ve been using the appendixes as a handy reference while working on
the templates and database queries for my project, and it has made
development quite a bit easier. The online references for django are
quite good, but flipping back and forth in the physical book is actually
quicker in a lot of cases.