Leanpub Header

Skip to main content

How to Tango with Django 1.9/1.10/1.11

A beginners guide to Python/Django

Tango with Django is a beginner's guide to web development using the Python programming language and the popular Django framework 1.9 (also compatible with 1.10 and 1.11). The book teaches you the basics through a step-by-step guide, and is written in a clear, friendly way. A series of exercises can be found too, to test your knowledge.

Free With Membership

The authors are letting you choose the price you pay for this book!

Pick Your Price...
PDF
EPUB
WEB
9,010
Readers
293
Pages
78,502Words
About

About

About the Book

The first edition of the Tango with Django book (available at: www.tangowithdjango.com) was launched in October 2013 by Leif Azzopardi and David Maxwell while at the University of Glasgow. The book has been used as the course textbook for web development courses within the University, and since its launch we've had over a million visitors to the website. We're now at the third iteration of the book which has been significantly expanded - the book is focused on Django 1.9 but is also compatible with Django 1.10 and 1.11, as well as being able to run with Python 2.7+ and Python 3.5+.

Share this book

Installments completed

23 / 23

Price

Pick Your Price...

With Membership

Free!

$7.99

You pay

$0.00

Authors earn

$0.00
$

All prices are in US $. You can pay in US $ or in your local currency when you check out.

EU customers: prices exclude VAT, which is added during checkout.

...Or Buy With Credits!

Number of credits (Minimum 0)

0
The author will earn $0.00 from your purchase!
You can get credits monthly with a Reader Membership

Author

About the Authors

Leif Azzopardi

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.

David Maxwell

David Maxwell has a PhD in Computing Science from the University of Glasgow. During his time as a student, he taught Java, Python and Web Development. His research focused on Information Retrieval.

Contents

Table of Contents

1.Overview

  1. 1.1Why Work with this Book?
  2. 1.2What you will Learn
  3. 1.3Technologies and Services
  4. 1.4Rango: Initial Design and Specification
  5. 1.5Summary

2.Getting Ready to Tango

  1. 2.1Python
  2. 2.2The Python Package Manager
  3. 2.3Virtual Environments
  4. 2.4Integrated Development Environment
  5. 2.5Code Repository

3.Django Basics

  1. 3.1Testing Your Setup
  2. 3.2Creating Your Django Project
  3. 3.3Creating a Django App
  4. 3.4Creating a View
  5. 3.5Mapping URLs
  6. 3.6Basic Workflows

4.Templates and Media Files

  1. 4.1Using Templates
  2. 4.2Serving Static Media Files
  3. 4.3Serving Media
  4. 4.4Basic Workflow

5.Models and Databases

  1. 5.1Rango’s Requirements
  2. 5.2Telling Django about Your Database
  3. 5.3Creating Models
  4. 5.4Creating and Migrating the Database
  5. 5.5Django Models and the Shell
  6. 5.6Configuring the Admin Interface
  7. 5.7Creating a Population Script
  8. 5.8Workflow: Model Setup

6.Models, Templates and Views

  1. 6.1Workflow: Data Driven Page
  2. 6.2Showing Categories on Rango’s Homepage
  3. 6.3Creating a Details Page
  4. Exercises

7.Forms

  1. 7.1Basic Workflow
  2. 7.2Page and Category Forms

8.Working with Templates

  1. 8.1Using Relative URLs in Templates
  2. 8.2Dealing with Repetition
  3. 8.3Template Inheritance
  4. 8.4The render() Method and the request Context
  5. 8.5Custom Template Tags
  6. 8.6Summary

9.User Authentication

  1. 9.1Setting up Authentication
  2. 9.2Password Hashing
  3. 9.3Password Validators
  4. 9.4The User Model
  5. 9.5Additional User Attributes
  6. 9.6Creating a User Registration View and Template
  7. 9.7Implementing Login Functionality
  8. 9.8Restricting Access
  9. 9.9Logging Out
  10. 9.10Taking it Further

10.Cookies and Sessions

  1. 10.1Cookies, Cookies Everywhere!
  2. 10.2Sessions and the Stateless Protocol
  3. 10.3Setting up Sessions in Django
  4. 10.4A Cookie Tasting Session
  5. 10.5Client Side Cookies: A Site Counter Example
  6. 10.6Session Data
  7. 10.7Browser-Length and Persistent Sessions
  8. 10.8Clearing the Sessions Database
  9. 10.9Basic Considerations and Workflow

11.User Authentication with Django-Registration-Redux

  1. 11.1Setting up Django Registration Redux
  2. 11.2Functionality and URL mapping
  3. 11.3Setting up the Templates

12.Bootstrapping Rango

  1. 12.1Template
  2. 12.2Quick Style Change
  3. 12.3Using Django-Bootstrap-Toolkit

13.Webhose Search

  1. 13.1The Webhose API
  2. 13.2Adding Search Functionality
  3. 13.3Putting Webhose Search into Rango

14.Making Rango Tango! Exercises

  1. 14.1Track Page Clickthroughs
  2. 14.2Searching Within a Category Page
  3. 14.3Create and View Profiles

15.Making Rango Tango! Hints

  1. 15.1Track Page Clickthroughs
  2. 15.2Searching Within a Category Page
  3. 15.3Creating a UserProfile Instance
  4. 15.4Viewing your Profile
  5. 15.5Listing all Users

16.JQuery and Django

  1. 16.1Including JQuery in Your Django Project/App
  2. 16.2DOM Manipulation Example

17.AJAX in Django with JQuery

  1. 17.1AJAX based Functionality
  2. 17.2Add a Like Button
  3. 17.3Adding Inline Category Suggestions

18.Automated Testing

  1. 18.1Running Tests
  2. 18.2Coverage Testing

19.Deploying Your Project

  1. 19.1Creating a PythonAnywhere Account
  2. 19.2The PythonAnywhere Web Interface
  3. 19.3Creating a Virtual Environment
  4. 19.4Setting up Your Web Application
  5. 19.5Log Files

20.Final Thoughts

  1. 20.1Acknowledgements

Appendices

Setting up your System

  1. Installing Python
  2. Setting Up the PYTHONPATH
  3. Using setuptools and pip
  4. Virtual Environments
  5. Version Control

A Crash Course in UNIX-based Commands

  1. Using the Terminal
  2. Core Commands

A Git Crash Course

  1. Why Use Version Control?
  2. How Git Works
  3. Setting up Git
  4. Basic Commands and Workflow
  5. Recovering from Mistakes

A CSS Crash Course

  1. Including Stylesheets
  2. Basic CSS Selectors
  3. Element Selectors
  4. Fonts
  5. Colours and Backgrounds
  6. Containers, Block-Level and Inline Elements
  7. Basic Positioning
  8. The Box Model
  9. Styling Lists
  10. Styling Links
  11. The Cascade
  12. Additional Reading

Get the free sample chapters

Click the buttons to get the free sample in PDF or EPUB, or read the sample online here

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $14 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub