Make a website with Django: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Jesstess
imported>Jesstess
No edit summary
Line 47: Line 47:


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



=== 3. Complete Part 3 of the tutorial ===
=== 3. Complete Part 3 of the tutorial ===
Line 70: Line 71:
})
})
return HttpResponse(t.render(c))</pre>
return HttpResponse(t.render(c))</pre>



=== 4. Complete Part 4 of the tutorial ===
=== 4. Complete Part 4 of the tutorial ===
Line 76: Line 78:


<b>Check your understanding</b>: What is in <code>request.POST</code>?
<b>Check your understanding</b>: What is in <code>request.POST</code>?

== Bonus exercises ==

If you have time, try out some of these extra exercises.


=== 1. Customize how tweets are printed by <code>search</code> ===

The tweets printed by <code>search</code> could look much nicer and have more useful metadata!

Customize how tweets are displayed. Look at the <code>Status</code> and <code>User</code> classes in http://code.google.com/p/python-twitter/source/browse/twitter.py for inspiration; options include displaying:
* the sender of the tweet
* the URL for the tweet
* how many followers the sender has
* the location of the sender
* if it was a retweet

and more!

Revision as of 01:28, 10 July 2012

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

Project setup

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 django 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

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 models.py and the database schema displayed when you run python manage.py sql polls.

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

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

Check your understanding: Which of the following URL fragments matches this pattern from a sample urls.py?

r'^polls/(?P<poll_id>\d+)/results/$'
  • polls/ABC/results/
  • polls/12345/results/
  • polls//results/

Check your understanding: Why are templates a good idea?

Check your understanding: What is the purpose of t.render in this code snippet?

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

Check your understanding: What is in request.POST?