From a8475e396965b439c5cfb21a3a81e1dd8dc466ce Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Mon, 21 Oct 2013 19:54:17 -0700 Subject: [PATCH] PAGINATE_DEFAULT_PAGE setting --- rest_framework/generics.py | 3 ++- rest_framework/settings.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 4015ab20a..cde2685f0 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -58,6 +58,7 @@ class GenericAPIView(views.APIView): # Pagination settings paginate_by = api_settings.PAGINATE_BY paginate_by_param = api_settings.PAGINATE_BY_PARAM + paginate_default_page = api_settings.PAGINATE_DEFAULT_PAGE max_paginate_by = api_settings.MAX_PAGINATE_BY pagination_serializer_class = api_settings.DEFAULT_PAGINATION_SERIALIZER_CLASS page_kwarg = 'page' @@ -145,7 +146,7 @@ class GenericAPIView(views.APIView): allow_empty_first_page=self.allow_empty) page_kwarg = self.kwargs.get(self.page_kwarg) page_query_param = self.request.QUERY_PARAMS.get(self.page_kwarg) - page = page_kwarg or page_query_param or 1 + page = page_kwarg or page_query_param or self.paginate_default_page try: page_number = paginator.validate_number(page) except InvalidPage: diff --git a/rest_framework/settings.py b/rest_framework/settings.py index 8abaf1409..b7774cc21 100644 --- a/rest_framework/settings.py +++ b/rest_framework/settings.py @@ -67,6 +67,7 @@ DEFAULTS = { # Pagination 'PAGINATE_BY': None, 'PAGINATE_BY_PARAM': None, + 'PAGINATE_DEFAULT_PAGE': 1, 'MAX_PAGINATE_BY': None, # Authentication