﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
9195	Paginator.page() should raise PageNotAnInteger when given a NoneType value	thomas@…	nobody	"The documentation suggests that Paginator.page() raises PageNotAnInteger for non-integer values, however passing it None raises a TypeError. I would imagine this is a fairly common use case. If a URL optionally has a search string that specifies a page number (eg. ?page=3) you would want to pass request.GET.get('page') to Paginator.page. However, if the request lacks the search string, page() should logically return the PageNotAnInteger exception.

{{{
>>> from django.core.paginator import Paginator
>>> objects = ['john', 'paul', 'george', 'ringo']
>>> p = Paginator(objects, 2)
>>> p.page(1)
<Page 1 of 2>
>>> p.page(""Pete Best"")
Traceback (most recent call last):
  File ""<console>"", line 1, in <module>
  File ""/home2/ether2/webapps/migration/lib/python2.5/django/core/paginator.py"", line 37, in page
    number = self.validate_number(number)
  File ""/home2/ether2/webapps/migration/lib/python2.5/django/core/paginator.py"", line 25, in validate_number
    raise PageNotAnInteger('That page number is not an integer')
PageNotAnInteger: That page number is not an integer
>>> p.page(None)
Traceback (most recent call last):
  File ""<console>"", line 1, in <module>
  File ""/home2/ether2/webapps/migration/lib/python2.5/django/core/paginator.py"", line 37, in page
    number = self.validate_number(number)
  File ""/home2/ether2/webapps/migration/lib/python2.5/django/core/paginator.py"", line 23, in validate_number
    number = int(number)
TypeError: int() argument must be a string or a number, not 'NoneType'
}}}"	Bug	closed	Documentation	1.0	Normal	fixed			Accepted	0	0	0	0	0	0
