diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 6d204cf5f..5b07e24f2 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -59,6 +59,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' @@ -146,7 +147,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