Pagination class for Django REST Framework to choose pagination class by query parameter
- Python (2.7, 3.4+)
- Django (1.8+)
- Django REST Framework (3.1+)
Install using pip…
$ pip install drf-proxy-paginationIn 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',
}http://api.example.org/accounts/ gives default pagination. http://api.example.org/accounts/?pager=cursor gives CursorPagination for heavy queries.
Install testing requirements.
$ pip install -r requirements.txtRun with runtests.
$ ./runtests.pyYou 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:
$ toxTo build the documentation, you’ll need to install mkdocs.
$ pip install mkdocsTo preview the documentation:
$ mkdocs serve
Running at: http://127.0.0.1:8000/To build the documentation:
$ mkdocs build