mirror of
https://github.com/django/django.git
synced 2025-07-04 09:49:12 +00:00
magic-removal: Updated template names to include '.html' in tutorial.
git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@2707 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
cf55b5bbaf
commit
8f41483c27
@ -258,7 +258,7 @@ provides a shortcut. Here's the full ``index()`` view, rewritten::
|
|||||||
|
|
||||||
def index(request):
|
def index(request):
|
||||||
latest_poll_list = Poll.objects.all().order_by('-pub_date')
|
latest_poll_list = Poll.objects.all().order_by('-pub_date')
|
||||||
return render_to_response('polls/index', {'latest_poll_list': latest_poll_list})
|
return render_to_response('polls/index.html', {'latest_poll_list': latest_poll_list})
|
||||||
|
|
||||||
Note that we no longer need to import ``loader``, ``Context`` or
|
Note that we no longer need to import ``loader``, ``Context`` or
|
||||||
``HttpResponse``.
|
``HttpResponse``.
|
||||||
@ -280,7 +280,7 @@ for a given poll. Here's the view::
|
|||||||
p = Poll.objects.get(pk=poll_id)
|
p = Poll.objects.get(pk=poll_id)
|
||||||
except Poll.DoesNotExist:
|
except Poll.DoesNotExist:
|
||||||
raise Http404
|
raise Http404
|
||||||
return render_to_response('polls/detail', {'poll': p})
|
return render_to_response('polls/detail.html', {'poll': p})
|
||||||
|
|
||||||
The new concept here: The view raises the ``django.http.Http404``
|
The new concept here: The view raises the ``django.http.Http404``
|
||||||
exception if a poll with the requested ID doesn't exist.
|
exception if a poll with the requested ID doesn't exist.
|
||||||
@ -296,7 +296,7 @@ rewritten::
|
|||||||
# ...
|
# ...
|
||||||
def detail(request, poll_id):
|
def detail(request, poll_id):
|
||||||
p = get_object_or_404(Poll, pk=poll_id)
|
p = get_object_or_404(Poll, pk=poll_id)
|
||||||
return render_to_response('polls/detail', {'poll': p})
|
return render_to_response('polls/detail.html', {'poll': p})
|
||||||
|
|
||||||
The ``get_object_or_404()`` function takes a Django model module as its first
|
The ``get_object_or_404()`` function takes a Django model module as its first
|
||||||
argument and an arbitrary number of keyword arguments, which it passes to the
|
argument and an arbitrary number of keyword arguments, which it passes to the
|
||||||
@ -306,8 +306,8 @@ exist.
|
|||||||
.. admonition:: Philosophy
|
.. admonition:: Philosophy
|
||||||
|
|
||||||
Why do we use a helper function ``get_object_or_404()`` instead of
|
Why do we use a helper function ``get_object_or_404()`` instead of
|
||||||
automatically catching the ``*DoesNotExist`` exceptions at a higher level,
|
automatically catching the ``DoesNotExist`` exceptions at a higher level,
|
||||||
or having the model API raise ``Http404`` instead of ``*DoesNotExist``?
|
or having the model API raise ``Http404`` instead of ``DoesNotExist``?
|
||||||
|
|
||||||
Because that would couple the model layer to the view layer. One of the
|
Because that would couple the model layer to the view layer. One of the
|
||||||
foremost design goals of Django is to maintain loose coupling.
|
foremost design goals of Django is to maintain loose coupling.
|
||||||
|
@ -56,7 +56,7 @@ So let's create a ``vote()`` function in ``mysite/polls/views.py``::
|
|||||||
selected_choice = p.choice_set.filter(pk=request.POST['choice'])
|
selected_choice = p.choice_set.filter(pk=request.POST['choice'])
|
||||||
except (KeyError, Choice.DoesNotExist):
|
except (KeyError, Choice.DoesNotExist):
|
||||||
# Redisplay the poll voting form.
|
# Redisplay the poll voting form.
|
||||||
return render_to_response('polls/detail', {
|
return render_to_response('polls/detail.html', {
|
||||||
'poll': p,
|
'poll': p,
|
||||||
'error_message': "You didn't select a choice.",
|
'error_message': "You didn't select a choice.",
|
||||||
})
|
})
|
||||||
@ -192,13 +192,13 @@ objects" and "display a detail page for a particular type of object."
|
|||||||
``object_id`` for the generic views.
|
``object_id`` for the generic views.
|
||||||
|
|
||||||
By default, the ``object_detail`` generic view uses a template called
|
By default, the ``object_detail`` generic view uses a template called
|
||||||
``<app name>/<module name>_detail``. In our case, it'll use the template
|
``<app name>/<module name>_detail.html``. In our case, it'll use the template
|
||||||
``"polls/poll_detail"``. Thus, rename your ``polls/detail.html`` template to
|
``"polls/poll_detail.html"``. Thus, rename your ``polls/detail.html`` template to
|
||||||
``polls/poll_detail.html``, and change the ``render_to_response()`` line in
|
``polls/poll_detail.html``, and change the ``render_to_response()`` line in
|
||||||
``vote()``.
|
``vote()``.
|
||||||
|
|
||||||
Similarly, the ``object_list`` generic view uses a template called
|
Similarly, the ``object_list`` generic view uses a template called
|
||||||
``<app name>/<module name>_list``. Thus, rename ``poll/index.html`` to
|
``<app name>/<module name>_list.html``. Thus, rename ``poll/index.html`` to
|
||||||
``polls/poll_list.html``.
|
``polls/poll_list.html``.
|
||||||
|
|
||||||
Because we have more than one entry in the URLconf that uses ``object_detail``
|
Because we have more than one entry in the URLconf that uses ``object_detail``
|
||||||
|
Loading…
x
Reference in New Issue
Block a user