Python django.core.paginator.InvalidPage() Examples
The following are 30
code examples of django.core.paginator.InvalidPage().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
django.core.paginator
, or try the search function
.
Example #1
Source File: views.py From coursys with GNU General Public License v3.0 | 6 votes |
def discussion_index(request, course_slug): """ Index page to view all discussion topics """ course, view = _get_course_and_view(request, course_slug) if view is None: # course is an HttpResponse in this case return course topics = DiscussionTopic.objects.filter(offering=course).order_by('-pinned', '-last_activity_at') activity.update_last_viewed(_get_member(request.user.username, view, course_slug)) paginator = Paginator(topics, 10) try: page = int(request.GET.get('page', '1')) except ValueError: page = 1 try: topics = paginator.page(page) except (EmptyPage, InvalidPage): topics = paginator.page(paginator.num_pages) context = {'course': course, 'topics': topics, 'view': view, 'paginator': paginator, 'page': page} return render(request, 'discuss/index.html', context)
Example #2
Source File: list.py From openhgsenti with Apache License 2.0 | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #3
Source File: list.py From luscan-devel with GNU General Public License v2.0 | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator(queryset, page_size, allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #4
Source File: list.py From python2017 with MIT License | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': force_text(e), })
Example #5
Source File: list.py From python with Apache License 2.0 | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': force_text(e), })
Example #6
Source File: yt_paginator.py From Spirit with MIT License | 6 votes |
def page(self, number): """ Returns a Page object for the given 1-based page number. """ number = self.validate_number(number) offset = (number - 1) * self.per_page limit = offset + self.per_page object_list = self.object_list[offset:limit] page = YTPage(object_list, number, self) if not page.num_pages: if number != 1 or not self.allow_empty_first_page: raise InvalidPage("That page contains no results") return page
Example #7
Source File: list.py From Hands-On-Application-Development-with-PyCharm with MIT License | 6 votes |
def paginate_queryset(self, queryset, page_size): """Paginate the queryset, if needed.""" paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #8
Source File: infinite_paginator.py From online-judge with GNU Affero General Public License v3.0 | 6 votes |
def paginate_queryset(self, queryset, page_size): if not self.use_infinite_pagination: return super().paginate_queryset(queryset, page_size) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: raise Http404('Page cannot be converted to an int.') try: page = infinite_paginate(queryset, page_number, page_size, self.pad_pages) return DummyPaginator(page_size), page, page.object_list, page.has_other_pages() except InvalidPage as e: raise Http404('Invalid page (%(page_number)s): %(message)s' % { 'page_number': page_number, 'message': str(e), })
Example #9
Source File: views.py From dzhops with Apache License 2.0 | 6 votes |
def record(request): user = request.user.username page_size = 10 all_record = OperateRecord.objects.order_by('-id') paginator = Paginator(all_record, page_size) try: page = int(request.GET.get('page', 1)) except ValueError: page = 1 # page_id = range(((page-1)*13+1),(page*13+1)) try: posts = paginator.page(page) except (EmptyPage, InvalidPage): posts = paginator.page(paginator.num_pages) return render( request, 'record_list.html', {'posts': posts, # 'page_id': page_id, } )
Example #10
Source File: mixins.py From djangorest-alchemy with MIT License | 6 votes |
def paginate_query_object(self, query_object, page_size): """Paginate the query object.""" paginator = self.get_paginator( query_object, page_size, allow_empty_first_page=self.get_allow_empty()) page = self.kwargs.get('page') or self.request.GET.get('page') or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise InvalidPage("Page is not 'last', " "nor can it be converted to an int.") # DB2 fix for invalid 0 literal. # Generates FETCH 0 rows if not done this way if not paginator.count == 0: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) else: return (paginator, Page([], 1, paginator), [], False)
Example #11
Source File: pagination_tags.py From OMS with Apache License 2.0 | 6 votes |
def render(self, context): key = self.queryset_var.var value = self.queryset_var.resolve(context) if isinstance(self.paginate_by, int): paginate_by = self.paginate_by else: paginate_by = self.paginate_by.resolve(context) paginator = Paginator(value, paginate_by, self.orphans) try: page_obj = paginator.page(context['request'].page) except InvalidPage: if INVALID_PAGE_RAISES_404: raise Http404('Invalid page requested. If DEBUG were set to ' + 'False, an HTTP 404 page would have been shown instead.') context[key] = [] context['invalid_page'] = True return u'' if self.context_var is not None: context[self.context_var] = page_obj.object_list else: context[key] = page_obj.object_list context['paginator'] = paginator context['page_obj'] = page_obj return u''
Example #12
Source File: list.py From bioforum with MIT License | 6 votes |
def paginate_queryset(self, queryset, page_size): """Paginate the queryset, if needed.""" paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #13
Source File: pagination.py From eoj3 with MIT License | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: raise Http404(_("Page can not be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #14
Source File: pagination_tags.py From mendelmd with BSD 3-Clause "New" or "Revised" License | 6 votes |
def render(self, context): key = self.queryset_var.var value = self.queryset_var.resolve(context) if isinstance(self.paginate_by, int): paginate_by = self.paginate_by else: paginate_by = self.paginate_by.resolve(context) paginator = Paginator(value, paginate_by, self.orphans) try: page_obj = paginator.page(context['request'].page) except InvalidPage: if INVALID_PAGE_RAISES_404: raise Http404('Invalid page requested. If DEBUG were set to ' + 'False, an HTTP 404 page would have been shown instead.') context[key] = [] context['invalid_page'] = True return '' if self.context_var is not None: context[self.context_var] = page_obj.object_list else: context[key] = page_obj.object_list context['paginator'] = paginator context['page_obj'] = page_obj return ''
Example #15
Source File: pagination_tags.py From mendelmd with BSD 3-Clause "New" or "Revised" License | 6 votes |
def render(self, context): key = self.queryset_var.var value = self.queryset_var.resolve(context) if isinstance(self.paginate_by, int): paginate_by = self.paginate_by else: paginate_by = self.paginate_by.resolve(context) paginator = Paginator(value, paginate_by, self.orphans) try: page_obj = paginator.page(context['request'].page) except InvalidPage: if INVALID_PAGE_RAISES_404: raise Http404('Invalid page requested. If DEBUG were set to ' + 'False, an HTTP 404 page would have been shown instead.') context[key] = [] context['invalid_page'] = True return '' if self.context_var is not None: context[self.context_var] = page_obj.object_list else: context[key] = page_obj.object_list context['paginator'] = paginator context['page_obj'] = page_obj return ''
Example #16
Source File: pagination_tags.py From mendelmd with BSD 3-Clause "New" or "Revised" License | 6 votes |
def render(self, context): key = self.queryset_var.var value = self.queryset_var.resolve(context) if isinstance(self.paginate_by, int): paginate_by = self.paginate_by else: paginate_by = self.paginate_by.resolve(context) paginator = Paginator(value, paginate_by, self.orphans) try: page_obj = paginator.page(context['request'].page) except InvalidPage: if INVALID_PAGE_RAISES_404: raise Http404('Invalid page requested. If DEBUG were set to ' + 'False, an HTTP 404 page would have been shown instead.') context[key] = [] context['invalid_page'] = True return '' if self.context_var is not None: context[self.context_var] = page_obj.object_list else: context[key] = page_obj.object_list context['paginator'] = paginator context['page_obj'] = page_obj return ''
Example #17
Source File: list.py From GTDWeb with GNU General Public License v2.0 | 6 votes |
def paginate_queryset(self, queryset, page_size): """ Paginate the queryset, if needed. """ paginator = self.get_paginator( queryset, page_size, orphans=self.get_paginate_orphans(), allow_empty_first_page=self.get_allow_empty()) page_kwarg = self.page_kwarg page = self.kwargs.get(page_kwarg) or self.request.GET.get(page_kwarg) or 1 try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: raise Http404(_("Page is not 'last', nor can it be converted to an int.")) try: page = paginator.page(page_number) return (paginator, page, page.object_list, page.has_other_pages()) except InvalidPage as e: raise Http404(_('Invalid page (%(page_number)s): %(message)s') % { 'page_number': page_number, 'message': str(e) })
Example #18
Source File: yt_paginator.py From BikeMaps with MIT License | 6 votes |
def page(self, number): """ Returns a Page object for the given 1-based page number. Retrieves objects for the given page number plus 1 additional to check if there are more objects after this page. """ number = self.validate_number(number) offset = (number - 1) * self.per_page limit = offset + self.per_page object_list = list(self.object_list[offset:limit]) if not object_list and number != 1: raise InvalidPage("That page contains no results") return YTPage(object_list, number, self)
Example #19
Source File: views.py From django-admin-reports with BSD 3-Clause "New" or "Revised" License | 5 votes |
def paginate(self): records = self.report.results self.paginator = self.report.get_paginator() result_count = self.paginator.count self.multi_page = result_count > self.report.get_list_per_page() self.can_show_all = result_count <= self.report.get_list_max_show_all() if not (self.show_all and self.can_show_all) and self.multi_page: try: records = self.paginator.page(self.page_num + 1).object_list except InvalidPage: raise IncorrectLookupParameters return records
Example #20
Source File: list.py From Mxonline3 with Apache License 2.0 | 5 votes |
def make_result_list(self): # Get search parameters from the query string. self.list_queryset = self.get_list_queryset() self.ordering_field_columns = self.get_ordering_field_columns() self.paginator = self.get_paginator() # Get the number of objects, with admin filters applied. self.result_count = self.paginator.count self.can_show_all = self.result_count <= self.list_max_show_all self.multi_page = self.result_count > self.list_per_page # Get the list of objects to display on this page. if (self.show_all and self.can_show_all) or not self.multi_page: self.result_list = self.list_queryset._clone() else: try: self.result_list = self.paginator.page( self.page_num + 1).object_list except InvalidPage: if ERROR_FLAG in self.request.GET.keys(): return SimpleTemplateResponse('xadmin/views/invalid_setup.html', { 'title': _('Database error'), }) return HttpResponseRedirect(self.request.path + '?' + ERROR_FLAG + '=1') self.has_more = self.result_count > ( self.list_per_page * self.page_num + len(self.result_list))
Example #21
Source File: api.py From DevOpsCloud with GNU General Public License v2.0 | 5 votes |
def pages(post_objects, request): """ page public function , return page's object tuple 分页公用函数,返回分页的对象元组 """ paginator = Paginator(post_objects, 20) try: current_page = int(request.GET.get('page', '1')) except ValueError: current_page = 1 page_range = page_list_return(len(paginator.page_range), current_page) try: page_objects = paginator.page(current_page) except (EmptyPage, InvalidPage): page_objects = paginator.page(paginator.num_pages) if current_page >= 5: show_first = 1 else: show_first = 0 if current_page <= (len(paginator.page_range) - 3): show_end = 1 else: show_end = 0 # 所有对象, 分页器, 本页对象, 所有页码, 本页页码,是否显示第一页,是否显示最后一页 return post_objects, paginator, page_objects, page_range, current_page, show_first, show_end
Example #22
Source File: views.py From wagtailmodeladmin with MIT License | 5 votes |
def get_context_data(self, request, *args, **kwargs): user = request.user all_count = self.get_base_queryset(request).count() queryset = self.get_queryset(request) result_count = queryset.count() has_add_permission = self.permission_helper.has_add_permission(user) paginator = Paginator(queryset, self.items_per_page) try: page_obj = paginator.page(self.page_num + 1) except InvalidPage: page_obj = paginator.page(1) context = { 'view': self, 'all_count': all_count, 'result_count': result_count, 'paginator': paginator, 'page_obj': page_obj, 'object_list': page_obj.object_list, 'has_add_permission': has_add_permission, } if self.is_pagemodel: allowed_parent_types = self.model.allowed_parent_page_types() user = request.user valid_parents = self.permission_helper.get_valid_parent_pages(user) valid_parent_count = valid_parents.count() context.update({ 'no_valid_parents': not valid_parent_count, 'required_parent_types': allowed_parent_types, }) return context
Example #23
Source File: main.py From python2017 with MIT License | 5 votes |
def get_results(self, request): paginator = self.model_admin.get_paginator(request, self.queryset, self.list_per_page) # Get the number of objects, with admin filters applied. result_count = paginator.count # Get the total number of objects, with no admin filters applied. if self.model_admin.show_full_result_count: full_result_count = self.root_queryset.count() else: full_result_count = None can_show_all = result_count <= self.list_max_show_all multi_page = result_count > self.list_per_page # Get the list of objects to display on this page. if (self.show_all and can_show_all) or not multi_page: result_list = self.queryset._clone() else: try: result_list = paginator.page(self.page_num + 1).object_list except InvalidPage: raise IncorrectLookupParameters self.result_count = result_count self.show_full_result_count = self.model_admin.show_full_result_count # Admin actions are shown if there is at least one entry # or if entries are not counted because show_full_result_count is disabled self.show_admin_actions = not self.show_full_result_count or bool(full_result_count) self.full_result_count = full_result_count self.result_list = result_list self.can_show_all = can_show_all self.multi_page = multi_page self.paginator = paginator
Example #24
Source File: views.py From kmanga with GNU General Public License v3.0 | 5 votes |
def get_context_data(self, **kwargs): """Extend the context data with the paginator.""" context = super(SubscriptionDetailView, self).get_context_data( **kwargs) paginate_by = self.kwargs.get('by') or self.request.GET.get('by') try: paginate_by = int(paginate_by) except (ValueError, TypeError): paginate_by = self.paginate_by paginator = Paginator( self.object.issues(), paginate_by, orphans=0, allow_empty_first_page=True ) page = self.kwargs.get('page') or self.request.GET.get('page') if not page: page = self.get_last_page() try: page_number = int(page) except ValueError: if page == 'last': page_number = paginator.num_pages else: msg = "Page is not 'last', nor can it be converted to an int." raise Http404(msg) try: page = paginator.page(page_number) except InvalidPage as e: raise Http404('Invalid page (%s): %s' % (page_number, str(e))) context.update({ 'paginator': paginator, 'page_obj': page, 'object_list': page.object_list }) return context
Example #25
Source File: list.py From imoocc with GNU General Public License v2.0 | 5 votes |
def make_result_list(self): # Get search parameters from the query string. self.base_queryset = self.queryset() self.list_queryset = self.get_list_queryset() self.ordering_field_columns = self.get_ordering_field_columns() self.paginator = self.get_paginator() # Get the number of objects, with admin filters applied. self.result_count = self.paginator.count self.can_show_all = self.result_count <= self.list_max_show_all self.multi_page = self.result_count > self.list_per_page # Get the list of objects to display on this page. if (self.show_all and self.can_show_all) or not self.multi_page: self.result_list = self.list_queryset._clone() else: try: self.result_list = self.paginator.page( self.page_num + 1).object_list except InvalidPage: if ERROR_FLAG in self.request.GET.keys(): return SimpleTemplateResponse('xadmin/views/invalid_setup.html', { 'title': _('Database error'), }) return HttpResponseRedirect(self.request.path + '?' + ERROR_FLAG + '=1') self.has_more = self.result_count > ( self.list_per_page * self.page_num + len(self.result_list))
Example #26
Source File: views.py From django_blog with MIT License | 5 votes |
def get_page(request, post_list): paginator = Paginator(post_list, 10) page = request.GET.get('page', 1) try: post_list = paginator.page(page) except(EmptyPage, InvalidPage, PageNotAnInteger): post_list = paginator.page(1) return post_list # 获得全局变量
Example #27
Source File: list.py From devops with MIT License | 5 votes |
def make_result_list(self): # Get search parameters from the query string. self.base_queryset = self.queryset() self.list_queryset = self.get_list_queryset() self.ordering_field_columns = self.get_ordering_field_columns() self.paginator = self.get_paginator() # Get the number of objects, with admin filters applied. self.result_count = self.paginator.count # Get the total number of objects, with no admin filters applied. # Perform a slight optimization: Check to see whether any filters were # given. If not, use paginator.hits to calculate the number of objects, # because we've already done paginator.hits and the value is cached. if not self.list_queryset.query.where: self.full_result_count = self.result_count else: self.full_result_count = self.base_queryset.count() self.can_show_all = self.result_count <= self.list_max_show_all self.multi_page = self.result_count > self.list_per_page # Get the list of objects to display on this page. if (self.show_all and self.can_show_all) or not self.multi_page: self.result_list = self.list_queryset._clone() else: try: self.result_list = self.paginator.page( self.page_num + 1).object_list except InvalidPage: if ERROR_FLAG in self.request.GET.keys(): return SimpleTemplateResponse('xadmin/views/invalid_setup.html', { 'title': _('Database error'), }) return HttpResponseRedirect(self.request.path + '?' + ERROR_FLAG + '=1') self.has_more = self.result_count > ( self.list_per_page * self.page_num + len(self.result_list))
Example #28
Source File: api.py From adminset with GNU General Public License v2.0 | 5 votes |
def pages(post_objects, request): """ page public function , return page's object tuple 分页公用函数,返回分页的对象元组 """ page_len = request.GET.get('page_len', '') if not page_len: page_len = 10 paginator = Paginator(post_objects, page_len) try: current_page = int(request.GET.get('page', '1')) except ValueError: current_page = 1 page_range = page_list_return(len(paginator.page_range), current_page) end_page = len(paginator.page_range) try: page_objects = paginator.page(current_page) except (EmptyPage, InvalidPage): page_objects = paginator.page(paginator.num_pages) # if current_page >= 5: # show_first = 1 # else: show_first = 0 # # if current_page <= (len(paginator.page_range) - 3): # show_end = 1 # else: show_end = 0 # 所有对象, 分页器, 本页对象, 所有页码, 本页页码,是否显示第一页,是否显示最后一页 return post_objects, paginator, page_objects, page_range, current_page, show_first, show_end, end_page
Example #29
Source File: list.py From online with GNU Affero General Public License v3.0 | 5 votes |
def make_result_list(self): # Get search parameters from the query string. self.base_queryset = self.queryset() self.list_queryset = self.get_list_queryset() self.ordering_field_columns = self.get_ordering_field_columns() self.paginator = self.get_paginator() # Get the number of objects, with admin filters applied. self.result_count = self.paginator.count self.can_show_all = self.result_count <= self.list_max_show_all self.multi_page = self.result_count > self.list_per_page # Get the list of objects to display on this page. if (self.show_all and self.can_show_all) or not self.multi_page: self.result_list = self.list_queryset._clone() else: try: self.result_list = self.paginator.page( self.page_num + 1).object_list except InvalidPage: if ERROR_FLAG in self.request.GET.keys(): return SimpleTemplateResponse('xadmin/views/invalid_setup.html', { 'title': _('Database error'), }) return HttpResponseRedirect(self.request.path + '?' + ERROR_FLAG + '=1') self.has_more = self.result_count > ( self.list_per_page * self.page_num + len(self.result_list))
Example #30
Source File: paginator.py From esdc-ce with Apache License 2.0 | 5 votes |
def get_page(self, page): try: self._page = self.page(page) except InvalidPage: raise NotFound(self.invalid_page_message) else: return self._page