Commit ddd9ee16 authored by leandrafinger's avatar leandrafinger Committed by Marc Egli
Browse files

Add missing imports to the examples in the 'First Steps'

parent cd72c55d
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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})
+2 −0
Original line number Diff line number Diff line
@@ -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):
+16 −0
Original line number Diff line number Diff line
@@ -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):
+5 −0
Original line number Diff line number Diff line
@@ -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)
+2 −0
Original line number Diff line number Diff line
@@ -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})