Make a website with Django

Project
Work through the official Django tutorial, where you'll create an interactive poll application.

Goals

 * Learn the basics of the Django web application framework
 * Practice writing classes and thinking about inheritance
 * Practice using Python to interact with a database
 * Think about how web servers and clients interact

Install Django
Please follow the instructions in the official installation guide to install Django.

Test your installation
From a Python prompt, type:

import django

and hit enter. If nothing gets printed, you had no error importing the  library, so you've successfully installed Django!

Project steps
The official Django tutorial walks you through creating an interactive polling application in 4 parts.

1. Complete Part 1 of the tutorial

 * Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial01/ and complete part 1 of the tutorial.

In this part, you'll create a new project, learn how to run your development server, set up a database, and create some models for your polling app. Some of the setup that you are doing in this section will make more sense once you start actually using the code a bit later in the tutorial -- don't worry if the purpose of some of the steps you are going through is a bit unclear at first.

After you've completed part 1:

Check your understanding: What is the relationship between the classes in  and the database schema displayed when you run.

This tutorial covered a lot of ground quickly. If you have any questions or want to learn more, wave over a staff member!

2. Complete Part 2 of the tutorial

 * Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial02/ and do almost all of part 2 of the tutorial. Stop when you get to Customize the Admin Look and Feel: https://docs.djangoproject.com/en/dev/intro/tutorial02/#customize-the-admin-look-and-feel

After you've completed part 2:

Check your understanding: What did you have to do to get your poll app displayed on the admin index page?

3. Complete Part 3 of the tutorial

 * Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial03/ and complete part 3 of the tutorial.

After you've completed part 3:

Check your understanding:

  Which of the following URL fragments matches this pattern from a sample ? r'^polls/(?P\d+)/results/$'

  Why are templates a good idea?   What is the purpose of  in this code snippet?
 * polls/ABC/results/
 * polls/12345/results/
 * polls//results/

def index(request): latest_poll_list = Poll.objects.all.order_by('-pub_date')[:5] t = loader.get_template('polls/index.html') c = Context({       'latest_poll_list': latest_poll_list,    }) return HttpResponse(t.render(c))  

4. Complete Part 4 of the tutorial

 * Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial04/ and complete part 4 of the tutorial.

After you've completed part 4:

Check your understanding: What is in ?

Congratulations!
You've built a website with Python and Django; this is a huge accomplishment. Keep practicing!