“Django 1.2 E-Commerce” starts with a very ambitious goal: design, develop and deploy a functional ecommerce web site for the fictional CranStore.com company. Sounds great, doesn’t it?
I started flipping through the usual introductory pages explaining what Django is and why use it for a project like this. It was all fairly brief which already led me to believe that knowledge of Django’s inner works and basic setup and configuration was required to follow along.
Well, the instructions are not as streamlined as other programming books I’ve read and it could be fairly tricky to follow the examples and logic if you’re not already familiar with how Django works. There are several typos in the example code as well, mostly due to missing spaces between the commands and arguments. Adding to the confusion is the style the author chose to deliver his explanation of specific code changes, displaying snippets of code that will leave the reader wondering what specific file is being discussed.
Now, if none of these things sound scary to you, you’ll be happy to know that the project itself is fairly well designed and worth your time. It was also the first time I saw an example of integrating Django with Google Checkout to set up a “shopping cart” mechanism, and by the time you’re done with the second chapter, you will have a very basic but functional ecommerce web site.
The subsequent chapters were a blur, talking about adding external modules and services to enhance your site’s searching capabilities as well as exposing the data from your “store” via APIs and generating reports with ReportLab. The author also talks about making use of javascript to add that AJAX-y feeling that we’ve come to expect of most modern sites and how to take advantage of S3 storage to sell your product.
The last chapter finally walks you through a few different ways you can deploy your final project to the world out there. I thought it was interesting to see Fabric being mentioned as a driver for deployment, as I have been playing with it at work to help me perform a series of tests on several different hosts for QAing purposes. Come to think of it, this may have been the first time I’ve seen it mentioned in a book, so I’m glad that this project seems to be picking up steam.
Overall, even with the issues of poor proof checking of the source code and the “everything and the kitchen sink” approach to the first chapters, if you’re not new to Django and need to get some ideas on how to design and develop an ecommerce website, you may want to check out this book. I give it 3 out of 5 stars.