Make a website with Django: Difference between revisions
imported>Jesstess |
imported>Jesstess |
||
Line 52: | Line 52: | ||
* Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial03/ and complete part 3 of the tutorial. |
* Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial03/ and complete part 3 of the tutorial. |
||
<b>Check your understanding</b>: |
<b>Check your understanding</b>: Which of the following URL fragments matches this pattern from a sample <code>urls.py</code>? |
||
<pre>r'^polls/(?P<poll_id>\d+)/results/$'</pre> |
|||
* polls/ABC/results/ |
|||
* polls/12345/results/ |
|||
* polls//results/ |
|||
<b>Check your understanding</b>: What is the purpose of <code>t.render</code> in this code snippet? |
|||
<pre>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))</pre> |
|||
=== 4. Complete Part 4 of the tutorial === |
=== 4. Complete Part 4 of the tutorial === |
Revision as of 01:24, 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
- 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 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
- Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial02/ and 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
- Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial03/ and 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: 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
- Please visit https://docs.djangoproject.com/en/1.4/intro/tutorial04/ and complete part 4 of the tutorial.
Check your understanding: What does api.GetSearch
return?
Bonus exercises
If you have time, try out some of these extra exercises.
1. Customize how tweets are printed by search
The tweets printed by search
could look much nicer and have more useful metadata!
Customize how tweets are displayed. Look at the Status
and User
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!