django3.1.2中paginator的validate_number函数问题

django3.1.2中paginator.page(page_num) 会调用validate_number 函数验证 page_num是否符合要求,不知什么原因,当传入的page_num与paginator.num_pages相等时,就会被判断为 page_num > num_pages,从而报EmptyPages错误。也就是采用这个paginator,会导致每当请求显示最后一页时,就会报错。 经实验,如果把 其中 的 如下一串代码: if number > self.num_pages: if number == 1 and self.allow_empty_first_page: pass else:
raise EmptyPage(_('That page contains no results'))

修改为如下的样子: if number > self.num_pages: if number == 1 and self.allow_empty_first_page: pass else: pass # raise EmptyPage(('That page contains no results')) 即把报空页错误的一句屏蔽掉,加pass句,然后运行程序,发现请求最后一页时就能正常显示了。 以上可能是django的一个bug,特此反映上来。

评论 0