Django, Python, & Random Leftovers

Book Review: Learning Website Development with Django

Author: Ayman Hourieh

Book Website

Rating: ***** (out of 5)

Learning Website Development with Django by Ayman Hourieh is a great introduction to application development with the Django web development framework.

The author covers a wide range of topics, leading you through installation of the framework and its basic usage. The pace of the book is brisk but not too fast, though you might want to have at least some experience with Python beforehand. (Which is fair, since Django is a Python framework!)

I really liked that the book has a running application that is being built as the chapters progress so you get an idea of how each concept presented fits into the overall structure of the application. It helps provide a context for why you are learning each chapter.

This book is not a reference, nor does it seem to be designed to be. (And it doesn't need to be; Django's documentation is some of the best I've ever seen in an open-source project) If you are just staring to work with Django, buy this book and Jacob and Adrian's 'The Definitive Guide to Django', which is also excellent.

If you already know or have worked with Django a little, you'll want to take a look at these sections that stood out above the rest:

User Registration and Management

Good coverage of the auth framework plus a very strong example of user registration; this topic comes up all the time in forums and blog comments. He shows how to do an "invite a friend" email registration system, complete with challenge verification.

Enhancing the User Interface with Ajax

The author presents the Ajax examples with jQuery and it's very approachable even if you haven't worked with that software. The chapter is meaty and thorough with examples of how to use jQuery's features such as event handling, DOM maninpulation, and accessing properties and attributes. He also provides examples of how to implement in-place editing, live search, and auto-complete.

Commenting

Good coverage of the comments framework; this is another area that isn't well-documented in the Django docs. (It's still evolving, so not a lot of time has been spent documenting it)

Internationalization (i18n)

Though not a long chapter, it's great to see coverage of the i18n system with a full example of how to set it up and deploy it.

Unit Testing

I enjoyed this section for two reasons: 1) The two examples provided were tests for the running app that is being built as the book progresses, so you understand the "why" behind the tests, and 2) It's great to see an author present unit testing as an important step for application development.

It's good to see this information in one place; you'd have to scour a lot of blog posts and code snippets to find all this material.

Articles by Category
Python, Django, Subversion, Mac, Linux, PHP, PostgreSQL