Add missing imports to the examples in the 'First Steps'
This commit is contained in:
parent
cd72c55d86
commit
ddd9ee16fa
|
@ -24,6 +24,8 @@ representing your models -- so far, it's been solving two years' worth of
|
|||
database-schema problems. Here's a quick example, which might be saved in
|
||||
the file ``mysite/news/models.py``::
|
||||
|
||||
from django.db import models
|
||||
|
||||
class Reporter(models.Model):
|
||||
full_name = models.CharField(max_length=70)
|
||||
|
||||
|
@ -214,6 +216,8 @@ Generally, a view retrieves data according to the parameters, loads a template
|
|||
and renders the template with the retrieved data. Here's an example view for
|
||||
``year_archive`` from above::
|
||||
|
||||
from django.shortcuts import render_to_response
|
||||
|
||||
def year_archive(request, year):
|
||||
a_list = Article.objects.filter(pub_date__year=year)
|
||||
return render_to_response('news/year_archive.html', {'year': year, 'article_list': a_list})
|
||||
|
|
|
@ -582,6 +582,8 @@ of this object. Let's fix that by editing the polls model (in the
|
|||
``Choice``. On Python 3, simply replace ``__unicode__`` by ``__str__`` in the
|
||||
following example::
|
||||
|
||||
from django.db import models
|
||||
|
||||
class Poll(models.Model):
|
||||
# ...
|
||||
def __unicode__(self): # Python 3: def __str__(self):
|
||||
|
|
|
@ -158,6 +158,9 @@ you want when you register the object.
|
|||
Let's see how this works by re-ordering the fields on the edit form. Replace
|
||||
the ``admin.site.register(Poll)`` line with::
|
||||
|
||||
from django.contrib import admin
|
||||
from polls.models import Poll
|
||||
|
||||
class PollAdmin(admin.ModelAdmin):
|
||||
fields = ['pub_date', 'question']
|
||||
|
||||
|
@ -179,6 +182,9 @@ of fields, choosing an intuitive order is an important usability detail.
|
|||
And speaking of forms with dozens of fields, you might want to split the form
|
||||
up into fieldsets::
|
||||
|
||||
from django.contrib import admin
|
||||
from polls.models import Poll
|
||||
|
||||
class PollAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
(None, {'fields': ['question']}),
|
||||
|
@ -198,6 +204,9 @@ You can assign arbitrary HTML classes to each fieldset. Django provides a
|
|||
This is useful when you have a long form that contains a number of fields that
|
||||
aren't commonly used::
|
||||
|
||||
from django.contrib import admin
|
||||
from polls.models import Poll
|
||||
|
||||
class PollAdmin(admin.ModelAdmin):
|
||||
fieldsets = [
|
||||
(None, {'fields': ['question']}),
|
||||
|
@ -218,6 +227,7 @@ Yet.
|
|||
There are two ways to solve this problem. The first is to register ``Choice``
|
||||
with the admin just as we did with ``Poll``. That's easy::
|
||||
|
||||
from django.contrib import admin
|
||||
from polls.models import Choice
|
||||
|
||||
admin.site.register(Choice)
|
||||
|
@ -342,6 +352,12 @@ representation of the output.
|
|||
You can improve that by giving that method (in :file:`polls/models.py`) a few
|
||||
attributes, as follows::
|
||||
|
||||
import datetime
|
||||
from django.utils import timezone
|
||||
from django.db import models
|
||||
|
||||
from polls.models import Poll
|
||||
|
||||
class Poll(models.Model):
|
||||
# ...
|
||||
def was_published_recently(self):
|
||||
|
|
|
@ -393,6 +393,9 @@ Now, let's tackle the poll detail view -- the page that displays the question
|
|||
for a given poll. Here's the view::
|
||||
|
||||
from django.http import Http404
|
||||
from django.shortcuts import render
|
||||
|
||||
from polls.models import Poll
|
||||
# ...
|
||||
def detail(request, poll_id):
|
||||
try:
|
||||
|
@ -420,6 +423,8 @@ and raise :exc:`~django.http.Http404` if the object doesn't exist. Django
|
|||
provides a shortcut. Here's the ``detail()`` view, rewritten::
|
||||
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
|
||||
from polls.models import Poll
|
||||
# ...
|
||||
def detail(request, poll_id):
|
||||
poll = get_object_or_404(Poll, pk=poll_id)
|
||||
|
|
|
@ -136,6 +136,8 @@ object. For more on :class:`~django.http.HttpRequest` objects, see the
|
|||
After somebody votes in a poll, the ``vote()`` view redirects to the results
|
||||
page for the poll. Let's write that view::
|
||||
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
|
||||
def results(request, poll_id):
|
||||
poll = get_object_or_404(Poll, pk=poll_id)
|
||||
return render(request, 'polls/results.html', {'poll': poll})
|
||||
|
|
Loading…
Reference in New Issue