I'd be lying if I said I wasn't a little disappointed. I was hoping for a little more on the "here are good approaches to solving certain classes of problem" and less on the "gospel according to Crockford". I was looking for something a bit more definitive on creating modules or ways to do OOP well, but there were some muddy waters there and not enough for my tastes.
And an entire appendix on JSLint? Really? Maybe I'm a tool, but it came off as fluffy (let's make the book longer) and a touch self-congratulatory. Further, there was quite a bit of repetition, not to mention the occasional thing that was wrong ("best to stick with greedy matching" ... Say what?).
I'm coming off too negative, as many bits were really well done. The parts about arrays, the "Awful Parts" appendix, function-scope & how functions work stand out. I still learned quite a bit with plenty of nuggets, and given that it's a short read, worthwhile.
A fantastic set of loosely intertwined short stories. Full to the brim with the things that make science fiction (and indeed all fiction) excellent, with a wide range of emotions on display. Another great book by Orson Scott Card.
Increasingly, there is a growing corpus of Django reference material being published. But most of the books target introductory to intermediate usage of Django. Long-time users with several successful projects under their belts stand to gain very little from these books. "Pro Django" is the book to read when you want to move beyond this.
Rather than covering every aspect of Django's internals, "Pro Django" starts with advanced Python practices (including a excellent introduction to metaprogramming) and then targets the major subsystems of Django, providing what is essentially a roadmap into various portions of the implementation. Major details are well covered and helpful hints are given about where to look for more information.
Beyond that, many chapters (particularly Chpt. 7) provide insight into good practices for all web developers. Details about HTTP handling, sanitizing data from users and ways to build "pluggable" backends are topics that extend well beyond Django's borders.
For developers who want or need more out of Django, this book makes a fantastic complement to the source code itself, providing the "why" of how Django is put together. There are many great examples provided throughout the book that include ways to take advantage of existing functionality or build your own custom solution.
The chapters themselves were well organized, clear and build upon each other as well as disparate portions of Django could be tied together. This is definitely a book to read through to the end, as the final two chapters tie the book together and provide some exceptional code that could benefit many different projects. The writing style was friendly, conversational and well-done. Rare was a typo or other mistake.
My only complaints may be the first chapter and occasionally a lack of code. The first chapter treads what seems like the same tired grounds as many other books as to the overall architecture of Django. As to the lack of code, the Models chapter felt light on code when reading it, though there is still quite a bit there.
All in all, I highly recommend this book to anyone looking for a guide into the depths of Django.
This book would be perfect for someone getting started with Django, especially if they also read the Definitive Guide To Django. Beginners will get the most out of it, though intermediate users will probably glean some good information from it as well. And if you've never seen/read one of James' presentations on reusable apps, the final chapter is a must-read.
James has done an excellent job of showing how to go about developing Django applications. If you work through the examples, you build the core of two of James' more prominent apps/projects (Cab & Djangosnippets). These were good choices because they take you through a wider variety of functionality that the typical "build-a-blog-in-5-minutes" app or the classic Polls example.
I would recommend that anyone who's new hold off for the second edition (which is due out shortly). It will be written for the current version of Django (1.0+) and, if I remember right, there are a couple extra chapters with more goodness planned. All in all, the book was well-written, clear and a balanced read.
Chpt. 2 features the clearest and best explanation of metaprogramming in Python I've ever encountered. Given that metaprogramming is what makes Django models/forms/modeladmins/etc work, this is extremely valuable.
Despite being over 20 years old, this book is still very relevant and an excellent project management resource. The anecdotes are interesting (and sometimes humorous). And while I wouldn't apply everything in the book verbatim, there's many good concepts and ideas that have worked well for me in the past.