Tweaks to paginator documentation.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16248 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Chris Beaven 2011-05-20 01:45:41 +00:00
parent 30e5d7e85e
commit bce125e84f
1 changed files with 28 additions and 22 deletions

View File

@ -62,8 +62,8 @@ page::
.. note::
Note that you can give ``Paginator`` a list/tuple, a Django ``QuerySet``, or
any other object with a ``count()`` or ``__len__()`` method. When
Note that you can give ``Paginator`` a list/tuple, a Django ``QuerySet``,
or any other object with a ``count()`` or ``__len__()`` method. When
determining the number of objects contained in the passed object,
``Paginator`` will first try calling ``count()``, then fallback to using
``len()`` if the passed object has no ``count()`` method. This allows
@ -185,9 +185,9 @@ Attributes
When determining the number of objects contained in ``object_list``,
``Paginator`` will first try calling ``object_list.count()``. If
``object_list`` has no ``count()`` method, then ``Paginator`` will
fallback to using ``object_list.__len__()``. This allows objects, such
as Django's ``QuerySet``, to use a more efficient ``count()`` method
when available.
fallback to using ``len(object_list)``. This allows objects, such as
Django's ``QuerySet``, to use a more efficient ``count()`` method when
available.
.. attribute:: Paginator.num_pages
@ -201,30 +201,37 @@ Attributes
``InvalidPage`` exceptions
==========================
The ``page()`` method raises ``InvalidPage`` if the requested page is invalid
(i.e., not an integer) or contains no objects. Generally, it's enough to trap
the ``InvalidPage`` exception, but if you'd like more granularity, you can trap
either of the following exceptions:
.. exception:: InvalidPage
A base class for exceptions raised when a paginator is passed an invalid
page number.
The :meth:`Paginator.page` method raises an exception if the requested page is
invalid (i.e., not an integer) or contains no objects. Generally, it's enough
to trap the ``InvalidPage`` exception, but if you'd like more granularity, you
can trap either of the following exceptions:
.. exception:: PageNotAnInteger
``PageNotAnInteger``
Raised when ``page()`` is given a value that isn't an integer.
``EmptyPage``
.. exception:: EmptyPage
Raised when ``page()`` is given a valid value but no objects exist on that
page.
Both of the exceptions are subclasses of ``InvalidPage``, so you can handle
Both of the exceptions are subclasses of :exc:`InvalidPage`, so you can handle
them both with a simple ``except InvalidPage``.
``Page`` objects
================
.. class:: Page(object_list, number, paginator)
You usually won't construct :class:`Pages <Page>` by hand -- you'll get them
You usually won't construct ``Page`` objects by hand -- you'll get them
using :meth:`Paginator.page`.
.. class:: Page(object_list, number, paginator)
.. versionadded:: 1.4
A page acts like a sequence of :attr:`Page.object_list` when using
``len()`` or iterating it directly.
@ -258,15 +265,15 @@ Methods
Returns the 1-based index of the first object on the page, relative to all
of the objects in the paginator's list. For example, when paginating a list
of 5 objects with 2 objects per page, the second page's :meth:`~Page.start_index`
would return ``3``.
of 5 objects with 2 objects per page, the second page's
:meth:`~Page.start_index` would return ``3``.
.. method:: Page.end_index()
Returns the 1-based index of the last object on the page, relative to all of
the objects in the paginator's list. For example, when paginating a list of
5 objects with 2 objects per page, the second page's :meth:`~Page.end_index`
would return ``4``.
Returns the 1-based index of the last object on the page, relative to all
of the objects in the paginator's list. For example, when paginating a list
of 5 objects with 2 objects per page, the second page's
:meth:`~Page.end_index` would return ``4``.
Attributes
----------
@ -282,4 +289,3 @@ Attributes
.. attribute:: Page.paginator
The associated :class:`Paginator` object.