drf-proxy-pagination

Pagination class for Django REST Framework to choose pagination class by query parameter


License
MIT
Install
pip install drf-proxy-pagination==0.2.0

Documentation

drf-proxy-pagination

build-status-image pypi-version

Overview

Pagination class for Django REST Framework to choose pagination class by query parameter

Requirements

  • Python (2.7, 3.4+)
  • Django (1.8+)
  • Django REST Framework (3.1+)

Installation

Install using pip…

$ pip install drf-proxy-pagination

In settings.py, choose ProxyPagination as your default pagination class and configure it:

REST_FRAMEWORK = {
    ...
    'DEFAULT_PAGINATION_CLASS': 'proxy_pagination.ProxyPagination',
}
PROXY_PAGINATION_PARAM = 'pager'
PROXY_PAGINATION_DEFAULT = 'rest_framework.pagination.LimitOffsetPagination'
PROXY_PAGINATION_MAPPING = {
    'cursor': 'rest_framework.pagination.CursorPagination',
}

Example

http://api.example.org/accounts/ gives default pagination. http://api.example.org/accounts/?pager=cursor gives CursorPagination for heavy queries.

Testing

Install testing requirements.

$ pip install -r requirements.txt

Run with runtests.

$ ./runtests.py

You can also use the excellent tox testing tool to run the tests against all supported versions of Python and Django. Install tox globally, and then simply run:

$ tox

Documentation

To build the documentation, you’ll need to install mkdocs.

$ pip install mkdocs

To preview the documentation:

$ mkdocs serve
Running at: http://127.0.0.1:8000/

To build the documentation:

$ mkdocs build