X-Git-Url: https://git.mdrn.pl/django-pagination.git/blobdiff_plain/4b451daf1c9a4496cd7c844afae283bbdd41ac7d..2918ede7ab519905630f6a78389d5a613b0a814f:/doc/usage.rst?ds=sidebyside diff --git a/doc/usage.rst b/doc/usage.rst index d875137..a57cf46 100644 --- a/doc/usage.rst +++ b/doc/usage.rst @@ -9,15 +9,15 @@ How to use linaro-django-pagination ``linaro-django-pagination`` allows for easy Digg-style pagination without modifying your views. -There are really 5 steps to setting it up with your projects (not including -installation, which is covered in INSTALL.txt in this same directory.) +There are really 5 steps to setting it up with your projects (not including +installation, which is covered in :ref:`installation`.) 1. List this application in the ``INSTALLED_APPS`` portion of your settings file. Your settings file might look something like:: INSTALLED_APPS = ( # ... - 'pagination', + 'linaro_django_pagination', ) @@ -26,7 +26,7 @@ installation, which is covered in INSTALL.txt in this same directory.) MIDDLEWARE_CLASSES = ( # ... - 'pagination.middleware.PaginationMiddleware', + 'linaro_django_pagination.middleware.PaginationMiddleware', ) 3. If it's not already added in your setup, add the request context processor. @@ -60,6 +60,14 @@ installation, which is covered in INSTALL.txt in this same directory.) Note that this replaces ``object_list`` with the list for the current page, so you can iterate over the ``object_list`` like you normally would. + + If you are using template ``{% block %}`` tags, the autopaginate tag must + exist in the same ``{% block %}`` where you access the paginated + ``object_list``. + + In general the full syntax is:: + + autopaginate QUERYSET [PAGINATE_BY] [ORPHANS] [as NAME] 6. Now you want to display the current page and the available pages, so @@ -67,7 +75,7 @@ installation, which is covered in INSTALL.txt in this same directory.) {% paginate %} - This does not take any arguments, but does assume that you have already + This does not require any arguments, but does assume that you have already called autopaginate, so make sure to do so first. @@ -77,14 +85,33 @@ a way to navigate between the different pages--all without touching your views. Custom pagination templates =========================== -In order to override the default pagination template use the extended form of -the ``paginate`` tag:: +By default the objects will be paginated using a helper template +"pagination/pagination.html". You can change this with an argument to +``paginate``. + +In general the full syntax is:: + + paginate [using "TEMPLATE"] + +For example, to paginate posts on a hypothetical blog page you could use +something like this:: {% autopaginate posts pagesize %} {% paginate using "pagination/blog/post.html" %} The default pagination template is contained in the -``pagination/pagination.html`` file inside the distribution. +``pagination/pagination.html`` file inside the distribution. You could extend +it and only customize the parts you care about. Please inspect the template to +see the blocks it defines that you could customize. + + +Multiple paginations per page +============================= + +You can use autopaginate/paginate multiple times in the same template. The only +requirement is to call autopaginate before calling paginate. That is, paginate +acts on the most recent call to autopaginate. + A Note About Uploads ====================