summaryrefslogtreecommitdiff
path: root/docs/intro/tutorial05.txt
diff options
context:
space:
mode:
authorM Nasimul Haque <nasim.haque@gmail.com>2013-09-23 23:23:47 +0100
committerTim Graham <timograham@gmail.com>2013-10-14 13:00:57 -0400
commitd07d6ae1167f93f2e88b3743c070003a66a31b35 (patch)
tree7e492b8bed053b01f728a10702276895cf47c8a2 /docs/intro/tutorial05.txt
parente077224f4ad69a68ae58a373ef69941272d3656c (diff)
Fixed #20910 -- Added a "snippet" sphinx directive to allow prefixing a filename.
Thanks Marc Tamlyn for the suggestion.
Diffstat (limited to 'docs/intro/tutorial05.txt')
-rw-r--r--docs/intro/tutorial05.txt49
1 files changed, 39 insertions, 10 deletions
diff --git a/docs/intro/tutorial05.txt b/docs/intro/tutorial05.txt
index 123ce5c280..90d3894738 100644
--- a/docs/intro/tutorial05.txt
+++ b/docs/intro/tutorial05.txt
@@ -160,7 +160,10 @@ A conventional place for an application's tests is in the application's
``tests.py`` file; the testing system will automatically find tests in any file
whose name begins with ``test``.
-Put the following in the ``tests.py`` file in the ``polls`` application::
+Put the following in the ``tests.py`` file in the ``polls`` application:
+
+.. snippet::
+ :filename: polls/tests.py
import datetime
@@ -236,7 +239,10 @@ Fixing the bug
We already know what the problem is: ``Question.was_published_recently()`` should
return ``False`` if its ``pub_date`` is in the future. Amend the method in
``models.py``, so that it will only return ``True`` if the date is also in the
-past::
+past:
+
+.. snippet::
+ :filename: polls/models.py
def was_published_recently(self):
now = timezone.now()
@@ -268,7 +274,10 @@ method; in fact, it would be positively embarrassing if in fixing one bug we had
introduced another.
Add two more test methods to the same class, to test the behavior of the method
-more comprehensively::
+more comprehensively:
+
+.. snippet::
+ :filename: polls/tests.py
def test_was_published_recently_with_old_question(self):
"""
@@ -382,7 +391,10 @@ The list of polls shows polls that aren't published yet (i.e. those that have a
``pub_date`` in the future). Let's fix that.
In :doc:`Tutorial 4 </intro/tutorial04>` we introduced a class-based view,
-based on :class:`~django.views.generic.list.ListView`::
+based on :class:`~django.views.generic.list.ListView`:
+
+.. snippet::
+ :filename: polls/views.py
class IndexView(generic.ListView):
template_name = 'polls/index.html'
@@ -397,11 +409,17 @@ places into the context.
We need to amend the ``get_queryset`` method and change it so that it also
checks the date by comparing it with ``timezone.now()``. First we need to add
-an import::
+an import:
+
+.. snippet::
+ :filename: polls/views.py
from django.utils import timezone
-and then we must amend the ``get_queryset`` method like so::
+and then we must amend the ``get_queryset`` method like so:
+
+.. snippet::
+ :filename: polls/views.py
def get_queryset(self):
"""
@@ -426,12 +444,18 @@ are listed. You don't want to have to do that *every single time you make any
change that might affect this* - so let's also create a test, based on our
:djadmin:`shell` session above.
-Add the following to ``polls/tests.py``::
+Add the following to ``polls/tests.py``:
+
+.. snippet::
+ :filename: polls/tests.py
from django.core.urlresolvers import reverse
and we'll create a factory method to create questions as well as a new test
-class::
+class:
+
+.. snippet::
+ :filename: polls/tests.py
def create_question(question_text, days):
"""
@@ -532,8 +556,10 @@ Testing the ``DetailView``
What we have works well; however, even though future questions don't appear in
the *index*, users can still reach them if they know or guess the right URL. So
-we need to add a similar constraint to ``DetailView``::
+we need to add a similar constraint to ``DetailView``:
+.. snippet::
+ :filename: polls/views.py
class DetailView(generic.DetailView):
...
@@ -545,7 +571,10 @@ we need to add a similar constraint to ``DetailView``::
And of course, we will add some tests, to check that a ``Question`` whose
``pub_date`` is in the past can be displayed, and that one with a ``pub_date``
-in the future is not::
+in the future is not:
+
+.. snippet::
+ :filename: polls/tests.py
class QuestionIndexDetailTests(TestCase):
def test_detail_view_with_a_future_question(self):