Skip to content

Commit 0ae3323

Browse files
fix 404 when page query parameter is empty string (#8578)
* fix 404 when page query parameter is empty string * Update pagination.py * Update pagination.py Co-authored-by: Tom Christie <[email protected]>
1 parent 03c2ef1 commit 0ae3323

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

rest_framework/pagination.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def paginate_queryset(self, queryset, request, view=None):
218218
return list(self.page)
219219

220220
def get_page_number(self, request, paginator):
221-
page_number = request.query_params.get(self.page_query_param, 1)
221+
page_number = request.query_params.get(self.page_query_param) or 1
222222
if page_number in self.last_page_strings:
223223
page_number = paginator.num_pages
224224
return page_number

tests/test_pagination.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,9 @@ def get_paginated_content(self, queryset):
180180
def get_html_context(self):
181181
return self.pagination.get_html_context()
182182

183-
def test_no_page_number(self):
184-
request = Request(factory.get('/'))
183+
@pytest.mark.parametrize('url', ['/', '/?page='])
184+
def test_no_page_number(self, url):
185+
request = Request(factory.get(url))
185186
queryset = self.paginate_queryset(request)
186187
content = self.get_paginated_content(queryset)
187188
context = self.get_html_context()

0 commit comments

Comments
 (0)