Enter your mobile number or email address below and we'll send you a link to download the free Kindle Reading App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.

Build a Django content management system, blog, and social networking site with James Bennett as he introduces version 1.1 of the popular Django framework.

Youll work through the development of each project, implementing and running the applications while learning new features along the way.

Web frameworks are playing a major role in the creation of todays most compelling web applications, because they automate many of the tedious tasks, allowing developers to instead focus on providing users with creative and powerful features. Python developers have been particularly fortunate in this area, having been able to take advantage of Django, a very popular open-source web framework whose stated goal is to "make it easier to build better web applications more quickly with less code."

Practical Django Projects introduces this popular framework by way of a series of realworld projects. Readers follow along with the development of each project, implementing and running each application while learning new features along the way. This edition is updated for Django 1.1 and includes an all-new chapter covering practical development tools and techniques you'll be able to apply to your own development workflow.

What youll learn

Capitalize upon the welldefined and stable framework architecture of Django 1.1 to build web applications faster than ever before

Learn by doing by working through the creation of three realworld projects, including a content management system, blog, and social networking site

{"currencyCode":"USD","itemData":[{"priceBreaksMAP":null,"buyingPrice":32.49,"ASIN":"1430219386","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":30.94,"ASIN":"143021936X","isPreorder":0},{"priceBreaksMAP":null,"buyingPrice":32.49,"ASIN":"1430210478","isPreorder":0}],"shippingId":"1430219386::3NqCzaGriGmVzrzW%2B%2Fz6TkjBoOK2r2cpTNuBiU4iEc40K1OmjwL5VAALGVOUd%2FOVCDUEZxQaD0PIB0NBkWk%2FNHD9S%2FgtqPUFFNNp86z1bkg%3D,143021936X::Brj8oITkQnNzQFEqFrjmFbIe0nXVCzfGQBdZlPp3MryPU9UvvwBOmCL9CJHXdqWmClqdPL4jiWpHJJed5OZXknFBAJ%2BaL3SCzOOYaNuWP14%3D,1430210478::PW1heIhdpIISjblDGEFadG7TO32%2F5Hhyo72KgBcIYNKIfmNYKGrqRVh7THjYNX8MZ7xSeyfwCTJa%2BBq8ApG5iMHO%2BAcx6LbEs9iwtBOP1X8%3D","sprites":{"addToWishlist":["wl_one","wl_two","wl_three"],"addToCart":["s_addToCart","s_addBothToCart","s_add3ToCart"],"preorder":["s_preorderThis","s_preorderBoth","s_preorderAll3"]},"shippingDetails":{"xz":"same","xy":"same","yz":"same","xyz":"same"},"tags":["x","y","z","w"],"strings":{"addToWishlist":["Add to Wish List","Add both to Wish List","Add all three to Wish List","Add all four to Wish List"],"addToCart":["Add to Cart","Add both to Cart","Add all three to Cart","Add all four to Cart"],"showDetailsDefault":"Show availability and shipping details","shippingError":"An error occurred, please try again","hideDetailsDefault":"Hide availability and shipping details","priceLabel":["Price:","Price for both:","Price for all three:","Price For All Four:"],"preorder":["Pre-order this item","Pre-order both items","Pre-order all three items","Pre-order all four items"]}}

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry.
> Shop now

Editorial Reviews

About the Author

James Bennett is a web developer for the World Company of Lawrence, Kansas, and is a major contributor to the Django project. His current role within the Django community is as the software project's release manager.

Most Helpful Customer Reviews

This book would totally be 5 stars if the source code was there. It really lays out how to work with Django and understand best practices, but if you're a "code-along-with-the-book" kind of person, you're going to be SEVERELY disappointed since there's no source code to check against the book, not anywhere.

This lack of source code would be excusable if this was a fresh title and there seemed to be an effort to get the source code out, but after searching the blogs and finding an excuse by the author over a year back saying "I have a day job", well that's just inexcusable. I'd almost give it two stars for the excuse, but the content of the book itself is very good, except for the thirty or so references to "getting to source code from the Apress site". Shame on Apress.

This book sits on my shelf as a reference for best practices and a collection of white papers for extending my projects, but I would consider this a third choice. If you're already comfortable with django and "get" everything that's going on, go for this book. If you're still a little "noob-ish" on the topic, move on.

I like the Django framework a lot, and really wanted to like this book, but I'm afraid it was pushed to market long before it was ready.

There are several cases in the book where I feel the author introduces something, but leaves off pertinent information required to override Django defaults and get what he suggested to work (e.g. using the numerical representation for months in a URL rather than the three-digit representation).

Also, there are many places in the book where the author is describing code, but doesn't state very clearly where the code should go.

Finally, the author refers to the book's accompanying source code, but that source code doesn't exist. The publisher told me a month ago that they've been in contact with the author, and that the source code will be available "shortly," but it is still unavailable. How many months has the book been out?

On the plus side, I think the author's projects are useful, and with the exception of his use of Markdown for submitting blog entries (in my opinion, he should have showed the use of TinyMCE there as well), well thought out. I also think the author does a good job of introducing the reader to a wide range of Django knowledge.

I'm taking one star away for the lack of clarity in several areas, and one away for the missing source code. If the publisher had fixed the ambiguities, missing information, and had the source code available prior to release, this could easily have been a five-star book for learning Django.

I resisted reading the first edition because it came out just shortly before Django 1.0. As a result, the code samples were not fully usable with the latest Django codebase.

The second edition does not suffer from this problem. The code matches development version 1.1. It also has a number of helpful additions: material on current version control (git, mercurial, and subversion), pip (for installing packages), virtualenv (for isolating different development environments), fabric (for repeatable releases to servers), and unit testing.

The text covers the development of two projects: a CMS and a code-sharing site. It has excellent examples of managers (a topic I have not seen covered in other Django books), templatetags, installable packages (markdown, comments, akismet for anti-spamming, pygments for color code, tinymce for rich text-editing, pydelicious, registration), and native packages (RSS feeds, flatpages, auth), plus all the usual topics: urls, models, views, forms, and templates. The text is very strong on using generic views.

The writing is excellent and flows logically. It's a pleasure to read.

OK: the code for the last project, "cab" which is a code sharing site is not on bitbucket or elsewhere. It is a little frustrating that the code isn't there. This seems like it would have been pretty minimal effort for an author or technical editor, but it's amazing how much it will slow down a novice.

because of that, I bumped my review down to 4 stars.

I know they are trying to rush these titles out to print, but don't say you're going to publish the code if you're not.

In my experience, the purpose of this book is extremely unusual in programming books. Most of them are either an introduction to the topic, or a reference book like a 'cookbook' or what basically amounts to a printed version of the online documentation. Those books get the job done for people with a project (or an employment position) in mind. They learn what they need to do to use the technology, then they get to work. We should all know by now that reading a book doesn't actually teach you anything -- you have to go out and actually apply that knowledge to really "know" the technology.

But what if you want to learn to use Django, but don't have a project in mind? How cool would it be if one of the core Django developers created a couple of fully-functional applications, step-by-step, and let you follow along? That's exactly what James Bennett has done here. You can literally be brand-new to Django and finish this book having written multiple Django applications, learning all the major functionality of Django along the way, and even implementing best-practices for creating reusable applications.

If you've been working with Django for any length of time, a lot of this book will feel like review, because it does explain templates, views, URLs, models, and the MTV concept. However, there's a lot in here for you as well.

Here are some of the cool things in this book that you don't find in any of the standard documentation sources:

* How to (easily) integrate a rich-text editor into the Django admin interface* Use third-party modules such as pygment, the Delicious API, and Akismet spam-blocking* In-depth examples of creating custom template tags* Complete examples of integrating django.Read more ›