
Wait for the next edition of this bookThis book is a solid, practically-oriented introduction to Django, but be warned: the code in the book fails with Django 1.0. This is an important caveat because you cannot progress through the exercises unless you know the gotchas and how to modify the code accordingly. Some of the incompatibilities are quite major.
I found that the book pitches a bit low for an experienced developers and it's thin on discussion of the meat of what's going on under the hood. A minor issue with the book is the author's insistence on "admonishing" you literally every second page. You see, calling things "admonitions" one of the secret signs that Python nerds use to show that they're part of that very special little gang of elite hardcore "Pythonistas". For the rest of us, it's just grating (or maybe I'm just not dope enough to be a Pythonista, yo. Y'know what I'm saying, bro? Word.)
Issues aside, I do like its very hands-on approach and I'm betting that the next edition will be a 4.5 star book.
Not for BeginnersAnother reviewer noted that this was the perfect book for beginners/newbies. It is not. As stated in the book and on the back cover, it is for intermediate folk.
The book makes quite a few assumptions about the reader's level of Django and development experience, as a result it can be a very frustrating experience for a beginner.
Please also note, as other reviewers have noted, that the book's code examples are for Django .9x (update: written for 0.96) and not for 1.0. Apress, the publisher, has not given any updates to the errata nor do they have the book's source code posted. So, if you are not an intermediate python programmer or an intermediate Django developer, you may find yourself throwing this book or your computer in frustration.
Other than that, if I could just figure out which version of Django it is written for, I would love this book.
It's practically a bookWhere's the chapter on deployment? You, know, that silly thing you have to do in order to put that practical project up somewhere that people can practically use it. Getting a Django application up and running in such a way as to not destroy your server when you get slashdotted (or whatever the kids call it nowadays) is the one thing nobody on Team Perfectionist seems to know how to do well enough to tell anyone else about, so they simply elect to avoid the subject altogether. What do they talk about instead? Regular expressions! Thank you, Mr. Hideous Neckbeard, I had no idea what regular expressions were until you came along. Your pandering rapport has completely distracted me the fact that the only way to get decent caching behavior out of your framework is to outfit it with third-party solutions that patch up the holes in your code.
This title is marginally better than APress' "Definitive Guide to Django" but not so much so as to make it worth the money they charge. Why it's taking them so long to reach 1.0 is a mystery to me as their "roadmap" is a joke rife with non-features, but this book definitely ain't compatible with the current beta, so it's practically useless.
Ars Technica review of Practical Django ProjectsThe final, and best, section of this book covers a few topics that have personally revolutionized my understanding and how I think about developing my Django applications. James goes to great lengths to explain the philosophy behind Django's concept of reusable applications.
The idea here is that one should strive to develop small, tightly-focused, and loosely coupled applications (or modules) that can be plugged into any application to add instant functionality. In fact, a large portion of what makes Django such an attractive framework--it's auto-generated admin interface, and copious add-on library--are developed in this exact same fashion. It's one of the reason's Django is so powerful and easy to adopt.
With few Django books on the market at this point, I would recommend Practical Django Projects to anyone who has at least cursory experience with web development or web frameworks. By going through the two substantial projects in this book, a competent developer can hone their Django skills to a level that some have reached only after months or years. This book is short for the amount of useful information it will impart on you; at a thin 256 pages, you'll be speeding through chapters at a nice brisk pace that satisfied my scatterbrained personality.
[...]
Good, but poorly timedThis book is a great book. 2 nits. One big, one small.
Nit #1: "Admonitions" seems a bit contrived.
Nit #2: This book should have either been released earlier or released 3 months later. The game is changing with 1.0 and all previous books will require fixes and updates to work. This increases the barrier to entry for newbies and should be rectified as soon as possible.
[Update: Word is there will be a hg repo for updated code samples. Now retracting Nit #2]
Good, but already dated.This is a well-written book that is fairly easy to read. If you're new to Django (or web development in general), this book will teach you how things fit together. There are lots of code examples, and the author walks you through building an app, and then puts the complete code at the end of the section (which I like).
The code in this book seems to be built using the 0.96 release of Django. I started learning with the svn version (leading up to 1.0), and a large number of things work differently than explained in the book. If you buy this book and want to use version 1.0, you'll often need to read through Django's documentation, too. Also, the author periodically explains some basic python syntax in an effort to make the book more accessible to new python users. In my opinion, this could be removed from the book in order to spend more effort explaining Django.
Overall: A good book. I'm glad I bought it.
A must have!This book certainly doesn't disappoint. The examples are excellent, and can easily be abstracted and applied to just about any Django project. I found the TemplateTag examples to be particularly helpful.
The book is an easy read, and is a great companion to The Deinfitive Guide to Django. Two thumbs way up.
Must Have Book When Learning DjangoIf you found that you have worked through the tutorial on the official Django website and are still wanting more, this is the book to get. I started working with Django about 2 months ago and first purchased The Definitive Guide to Django. I am not to familiar with any type of web or other programming and definitely not familiar with web frameworks. After working through the guide and reading some of the online documentation, I found that I was still confused in some areas.
Make sure you work through some of the basics of Django before reading this book. While it does take you step by step through making different projects, you may be confused if you have never seen Django before. There are a ton of great applications out there already developed with Django and this book takes you in to a few examples of them.
In my eyes, James Bennett is the leading authority on Django tutorials. I find myself finding more and more great examples on his personal blog every day. I would highly recommend this book to anyone wanting to learn more about Django.
Could be perfect BUT these serious flaws:1) The code examples don't work with the current version of Django.
2) Despite several references to them in the book (eg p111), there are no source code downloads on the Apress website, period. I have emailed and called Apress customer support and received no reply.
3) Not as serious as the previous issues, but there are virtually no screenshots in the book. Even a few would make the code in the book come alive.
Bottom line: The concept is great. The execution, flawed.
The Projects Don't WorkBook seems reasonably well written. I learned some things from the first two chapters but, as other reviewers have noted, Django 1.0 and beyond are not compatible with this book. You can Google around and find how different people solved the incompatibilities, but that's painful and not educational.
Apress needs to issue an errata on their site discussing the changes needed. Until they do this, the book's not awfully useful.
