Tango With Django

Tango With Django 1.9

A beginner's guide to web development with Python / Django 1.9

We are currently in the process of updating the book to Django 1.9.

Please register your interest by visiting the book preview on Leanpub.

We have just released the first few chapters for you to download


Tango With Django 1.7

A beginner's guide to web development with Python 2.7 / Django 1.7

Comments, suggestions and feedback is welcome. Changes requests can be made via GitHub: https://github.com/leifos/tango_with_django_book.

Get Started Now

Tango With Django 1.5.4

A beginner's guide to web development with Python 2.7 / Django 1.5.4

Get Started Now

Setup Smart

Setting up your Python 2.7 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.

Try 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.

Start Coding »

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 »