This website uses third party cookies exclusively to collect analytics data.
If you continue browsing or close this notice, you will accept their use.

Tango With Django

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 third edition, Tango With Django 1.9/1.10 is now available to buy from LeanPub and Amazon.

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 Hard

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.

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.

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!

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.

Do not Read

Whatever you do, do not read this book! It is a hands-on guide to building web applications in Python Django, reading is not doing. To increase the value you gain from this experience, go through and develop the application. When you code up the application, do not just cut and paste the code. Type it in, think about what it does, then read the explanations we have provided to describe what is going on. If you still do not understand, then check out the Django documentation, go to stack overflow, search the web until you have filled this gap in your knowledge.


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


Leif Azzopardi is passionate about Web Development, Web Design, Information Architecture and Software Engineering. His research interests are focused on Information Retrieval and Search Engine 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 also focuses on Information Retrieval.

Email: maxwelld90@gmail.com

Twitter: @maxwelld90

More »