Practical Django Projects: Writer better web applications faster, and learn how to build up your own reusable code library (buy)
James Bennett, Django Release Manager
Apress 256 pages
Any web developer worth their salt has undoubtedly spent significant amounts of time and billable hours building (and re-building) a library of reusable code to ease future development investment on their part. If you’ve made it that far, then you’ve probably also come to a point when you’ve scrapped all the code you wrote and picked from one of the many open-source web frameworks that have done all those tasks (and more), done them well, and that--most importantly--other people maintain.
When many individuals took their first steps in web development, they were forced to write much of their code from scratch. That includes handling cookies and sessions, talking with the database and building your own SQL queries, engineering some sort of templating system (or none at all in much of PHP development), and many more man-hours of boilerplate.
These days, from ColdFusion, Ruby, PHP, Perl, to Python, developers at all levels are turning to web frameworks to do much of the dirty work.
Django is a Python-powered web framework and it's one that I’ve been a following closely since its public inception. Django has had some big wins lately with Goolge’s App Engine and is well on its way to a 1.0 release. Django has been heralded as a well-managed and disciplined open-source project that has managed to garner praise for it’s stability and performance.
Practical Django Projects is an excellent book that goes well beyond The Definitive Guide to Django, which marches through each major bit of Django with basic examples of these features. The main downfall of the Definitive Guide was that while it is extremely illustrative of the different parts of the framework, it has little to no example of how to build a real-world project you might present to a client.
This book has a strong focus on building real, battle-tested web applications from the ground up and is split into four logical portions which are prefaced with a brief introduction to Python, Django, and web frameworks themselves.