fix 404 when page query parameter is empty string

This commit is contained in:
shipengtao 2022-07-28 12:03:35 +08:00
parent a1b35bb44b
commit 7a6546aad8
2 changed files with 4 additions and 3 deletions

View File

@ -216,7 +216,7 @@ class PageNumberPagination(BasePagination):
return list(self.page)
def get_page_number(self, request, paginator):
page_number = request.query_params.get(self.page_query_param, 1)
page_number = request.query_params.get(self.page_query_param) or 1
if page_number in self.last_page_strings:
page_number = paginator.num_pages
return page_number

View File

@ -180,8 +180,9 @@ class TestPageNumberPagination:
def get_html_context(self):
return self.pagination.get_html_context()
def test_no_page_number(self):
request = Request(factory.get('/'))
@pytest.mark.parametrize('url', ['/', '/?page='])
def test_no_page_number(self, url):
request = Request(factory.get(url))
queryset = self.paginate_queryset(request)
content = self.get_paginated_content(queryset)
context = self.get_html_context()