Introducing Tango with Django

Tango with Django is a beginner's guide to web development using the popular Python-based web application framework, Django. The complete book provides a hands-on guide to designing and building web applications, explaining in plain English how all the different technologies you will encounter fit together. All major processes are provided as a series of generalisable workflows to get you into the mindset of using Django quickly, reducing the learning curve, and advocating best practices when developing your web applications.

While teaching you the basics of Django, we will guide you through the implementation of a simple web application, Rango — providing a directory of different categories and links. By the end of the book, you will have fully implemented the application, as well as having deployed it online with the Python application hosting service, PythonAnywhere — ready for the whole world to see your efforts!

Setup Smart Setting up your Python development environment is an important part of any project. 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 a simple web application called Rango.

Code Simple To get you working with the Python Django Framework — and not against it — we have provided a series of different workflows to help you fall into line with the Model-View-Template architecture.

Since our initial draft release in October 2013, Tango with Django has been accessed over 2,000,000 times. Over 6,000 individuals have purchased their own copy of the later editions released on Leanpub since late 2016. The book has been used of the basis as web development courses all around the world, such as in educational institutions in India and Vietnam.

Thousands of students at the University of Glasgow have used the book since 2014 — both undergraduate and postgraduate — to learn the basics of web development as part of the School of Computing Science's curriculum. Indeed, the authors were both employed by the University to teach web development until 2019!

What has made the book a success amongst the student population? How will it help you learn?

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 issues 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. 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 manner.

Share your Thoughts We are always looking for ways to improve this resource. We have open-sourced the book and corresponding Python implementation. We want to hear from you if you have any suggestions, improvements, or just want to contribute to the project! We always listen to reader feedback — a recent reader-suggested improvement has been the inclusion of tests for readers to compare their implementations against, so they know they are on track.

Lower your Learning Curve Web application frameworks can save you a lot of hassle and lot of time. But that is only true 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 whistles from the onset, the book shortens your learning curve. You'll be satisfied with your progress, even early on.

So what are you waiting for? Get ready to Tango with Django!