summaryrefslogtreecommitdiff
path: root/docs/tutorial04.txt
diff options
context:
space:
mode:
authorAdrian Holovaty <adrian@holovaty.com>2005-09-23 22:50:05 +0000
committerAdrian Holovaty <adrian@holovaty.com>2005-09-23 22:50:05 +0000
commitb7528320b64f3e818f798daa7235f7b5721d4ac2 (patch)
tree356e0078a67d1503ee6e023e69ec2e2b633bd599 /docs/tutorial04.txt
parent3dcdce4d63e155d79a7ece80b14c5ab4358c98a9 (diff)
Changed overview and tutorial docs to use render_to_response and get_object_or_404, to cut down on code
git-svn-id: http://code.djangoproject.com/svn/django/trunk@678 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs/tutorial04.txt')
-rw-r--r--docs/tutorial04.txt26
1 files changed, 6 insertions, 20 deletions
diff --git a/docs/tutorial04.txt b/docs/tutorial04.txt
index c16ccb5b69..3e6d6205bb 100644
--- a/docs/tutorial04.txt
+++ b/docs/tutorial04.txt
@@ -48,27 +48,20 @@ included this line::
So let's create a ``vote()`` function in ``myproject/apps/polls/views/polls.py``::
- from django.core import template_loader
- from django.core.extensions import DjangoContext as Context
+ from django.core.extensions import get_object_or_404, render_to_response
from django.models.polls import choices, polls
- from django.utils.httpwrappers import HttpResponse, HttpResponseRedirect
- from django.core.exceptions import Http404
+ from django.utils.httpwrappers import HttpResponseRedirect
def vote(request, poll_id):
- try:
- p = polls.get_object(pk=poll_id)
- except polls.PollDoesNotExist:
- raise Http404
+ p = get_object_or_404(polls, pk=poll_id)
try:
selected_choice = p.get_choice(pk=request.POST['choice'])
except (KeyError, choices.ChoiceDoesNotExist):
# Redisplay the poll voting form.
- t = template_loader.get_template('polls/detail')
- c = Context(request, {
+ return render_to_response('polls/detail', {
'poll': p,
'error_message': "You didn't select a choice.",
})
- return HttpResponse(t.render(c))
else:
selected_choice.votes += 1
selected_choice.save()
@@ -109,15 +102,8 @@ After somebody votes in a poll, the ``vote()`` view redirects to the results
page for the poll. Let's write that view::
def results(request, poll_id):
- try:
- p = polls.get_object(pk=poll_id)
- except polls.PollDoesNotExist:
- raise Http404
- t = template_loader.get_template('polls/results')
- c = Context(request, {
- 'poll': p,
- })
- return HttpResponse(t.render(c))
+ p = get_object_or_404(polls, pk=poll_id)
+ return render_to_response('polls/results', {'poll': p})
This is almost exactly the same as the ``detail()`` view from `Tutorial 3`_.
The only difference is the template name. We'll fix this redundancy later.