Changeset 7867
- Timestamp:
- 07/07/08 21:20:48 (5 months ago)
- Files:
-
- django/trunk/django/core/paginator.py (modified) (4 diffs)
- django/trunk/docs/pagination.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/core/paginator.py
r7865 r7867 1 1 class InvalidPage(Exception): 2 pass 3 4 class PageNotAnInteger(InvalidPage): 5 pass 6 7 class EmptyPage(InvalidPage): 2 8 pass 3 9 … … 15 21 number = int(number) 16 22 except ValueError: 17 raise InvalidPage('That page number is not an integer')23 raise PageNotAnInteger('That page number is not an integer') 18 24 if number < 1: 19 raise InvalidPage('That page number is less than 1')25 raise EmptyPage('That page number is less than 1') 20 26 if number > self.num_pages: 21 27 if number == 1 and self.allow_empty_first_page: 22 28 pass 23 29 else: 24 raise InvalidPage('That page contains no results')30 raise EmptyPage('That page contains no results') 25 31 return number 26 32 … … 130 136 page_number = int(page_number) + 1 131 137 except ValueError: 132 raise InvalidPage138 raise PageNotAnInteger 133 139 return self.validate_number(page_number) 134 140 … … 137 143 page_number = int(page_number) + 1 138 144 except ValueError: 139 raise InvalidPage145 raise PageNotAnInteger 140 146 return self.page(page_number).object_list 141 147 django/trunk/docs/pagination.txt
r7865 r7867 83 83 ``page_range`` -- A 1-based range of page numbers, e.g., ``[1, 2, 3, 4]``. 84 84 85 ``InvalidPage`` exceptions 86 ========================== 87 88 The ``page()`` method raises ``InvalidPage`` if the requested page is invalid 89 (i.e., not an integer) or contains no objects. Generally, it's enough to trap 90 the ``InvalidPage`` exception, but if you'd like more granularity, you can trap 91 either of the following exceptions: 92 93 ``PageNotAnInteger`` -- Raised when ``page()`` is given a value that isn't an integer. 94 95 ``EmptyPage`` -- Raised when ``page()`` is given a valid value but no objects exist on that page. 96 97 Both of the exceptions are subclasses of ``InvalidPage``, so you can handle 98 them both with a simple ``except InvalidPage``. 99 85 100 ``Page`` objects 86 101 ================
