Commit b5c6b4f1 authored by Chris Beaven's avatar Chris Beaven
Browse files

[1.3.X] Tweaks to paginator documentation.

Backport of 16248 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.3.X@16249 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent be776521
Loading
Loading
Loading
Loading
+27 −22
Original line number Diff line number Diff line
@@ -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
@@ -182,9 +182,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

@@ -197,30 +197,36 @@ 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)

Methods
-------
@@ -251,15 +257,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
----------
@@ -275,4 +281,3 @@ Attributes
.. attribute:: Page.paginator

    The associated :class:`Paginator` object.