Tango With Django is a begginner's guide to Web Development using the popular Python Based Web Framework Django. The book provides a hands-on guide to designing and building web applications, explaining how all the technology fits together as you build Rango and then deploying the application on PythonAnywhere. Through the course of the book, you will not only learn how to Tango with Django, but also learn about Javascript/Jquery, CSS/Bootstrap and HTML, PIP and Git/GitHub.

The fourth edition, Tango With Django 2 is now available via LeanPub.

The third edition, Tango With Django 1.9/1.10/1.11 is still available to buy from LeanPub.

A sample of third edition is freely available for download from LeanPub.

Previous editions of this Django book use Django 1.5 and Django 1.7 are freely available, see Django Book 1.5 and Django Book 1.7.

Setup Smart

Setting up your Python development environment is an important part of any project. Here we show you how to set up your environment and project so that you can deploy your application in next to no time.

Learn Fast

This book has been designed to get you going fast and to learn by example. You'll learn the key aspects of the Python Django Framework by developing an application called Rango.

Code Simple

To get you working with the Python Django Framework, and not against it, we have provided workflows to help you fall into line with the Model-View-Template architecture.

Why learn with Tango with Django

Save yourself Time

On many occasions we’ve seen clever students get stuck, spending hours trying to fight with Django and other aspect of web development, usually because a key piece of information was not provided or something was not clear. While the occasional blip might set you back 10-15 minutes, sometimes they can take hours to resolve. We’ve tried to remove as many of these hurdles as possible. This will mean you can get on with developing your application, and not figuring out another piece of the puzzle.

Improve your workflow

Using web application frameworks requires you to pick up and run with a particular design pattern - so you only have to fill in certain pieces in certain places. After working with many students, we heard lots of complaints about using web application frameworks, about how they take control away from them (i.e. inversion of control). To help you we’ve created a number of workflows to focus your development process so that you can regain that sense of control and build your web application in a disciplined mannered.

Share your Knowledge

We are always looking for ways to improve this resource - the Python code and book is open source. So let us know if you want to contribute!

Lower Your Learning Curve

Web application frameworks can save you a lot of hassle and lot of time, well, that is, if you know how to use them! Often the learning curve is steep. This book tries to get you going, and going fast. By showing you how to put together a web application with all the bells and whistle from the onset, the book shortens this curve.


We'd love to hear your comments about the book.


Dr. Leif Azzopardi is an Associate Professor in Computer Science and has been teaching web application development for over seven years. His research focuses on better search and retrieval technologies.

Email: leifos@acm.org

Twitter: @leifos

More »

David Maxwell is a PhD Candidate at the University of Glasgow, who teaches Python and Web Development. His research focuses on interactive information retrieval.

Email: maxwelld90@acm.org

Twitter: @maxwelld90

More »