Fixed #10898 -- Corrected minor error in conditional view processing example. Thanks to Tomasz Elendt for the report.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10642 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee 2009-04-28 13:28:57 +00:00
parent 6312de0279
commit 0c1d38bdf4
1 changed files with 5 additions and 7 deletions

View File

@ -59,10 +59,10 @@ The ``condition`` decorator's signature looks like this::
The two functions, to compute the ETag and the last modified time, will be The two functions, to compute the ETag and the last modified time, will be
passed the incoming ``request`` object and the same parameters, in the same passed the incoming ``request`` object and the same parameters, in the same
order, as the view function they are helping to wrap. The function passed order, as the view function they are helping to wrap. The function passed
``last_modified`` should return a standard datetime value specifying the last ``last_modified_func`` should return a standard datetime value specifying the
time the resource was modified, or ``None`` if the resource doesn't exist. The last time the resource was modified, or ``None`` if the resource doesn't
function passed to the ``etag`` decorator should return a string representing exist. The function passed to the ``etag`` decorator should return a string
the `Etag`_ for the resource, or ``None`` if it doesn't exist. representing the `Etag`_ for the resource, or ``None`` if it doesn't exist.
Using this feature usefully is probably best explained with an example. Using this feature usefully is probably best explained with an example.
Suppose you have this pair of models, representing a simple blog system:: Suppose you have this pair of models, representing a simple blog system::
@ -83,10 +83,8 @@ add a new blog entry, you can compute the last modified time very quickly. You
need the latest ``published`` date for every entry associated with that blog. need the latest ``published`` date for every entry associated with that blog.
One way to do this would be:: One way to do this would be::
from django.db.models import Max
def latest_entry(request, blog_id): def latest_entry(request, blog_id):
return Entry.objects.filter(blog=blog_id).aggregate(Max("published")) return Entry.objects.filter(blog=blog_id).latest("published").published
You can then use this function to provide early detection of an unchanged page You can then use this function to provide early detection of an unchanged page
for your front page view:: for your front page view::