diff options
| author | Craig Blaszczyk | 2015-01-07 11:41:06 +0000 |
|---|---|---|
| committer | Craig Blaszczyk | 2015-01-07 11:41:06 +0000 |
| commit | 9b4177b6ea38de6e86b0fe723834b6ef36af15b3 (patch) | |
| tree | 3de7ee4886dc396c128143889bce4d7c37fbf283 /rest_framework/generics.py | |
| parent | 7913947757b0e6bd1b8828db81933c32c498e20a (diff) | |
| download | django-rest-framework-9b4177b6ea38de6e86b0fe723834b6ef36af15b3.tar.bz2 | |
switch to using format strings in error messages; raise NotFound when pagination fails to provide a more useful error message
Diffstat (limited to 'rest_framework/generics.py')
| -rw-r--r-- | rest_framework/generics.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/rest_framework/generics.py b/rest_framework/generics.py index 680992d7..fe92355d 100644 --- a/rest_framework/generics.py +++ b/rest_framework/generics.py @@ -10,6 +10,7 @@ from django.shortcuts import get_object_or_404 as _get_object_or_404 from django.utils import six from django.utils.translation import ugettext as _ from rest_framework import views, mixins +from rest_framework.exceptions import NotFound from rest_framework.settings import api_settings @@ -119,15 +120,16 @@ class GenericAPIView(views.APIView): if page == 'last': page_number = paginator.num_pages else: - raise Http404(_("Choose a valid page number. Page numbers must be a whole number, or must be the string 'last'.")) + raise NotFound(_("Choose a valid page number. Page numbers must be a whole number, or must be the string 'last'.")) + + page_number = -1 try: page = paginator.page(page_number) except InvalidPage as exc: - error_format = _('Invalid page (%(page_number)s): %(message)s') - raise Http404(error_format % { - 'page_number': page_number, - 'message': six.text_type(exc) - }) + error_format = _('Invalid page ({page_number}): {message}') + raise NotFound(error_format.format( + page_number=page_number, message=six.text_type(exc) + )) return page |
