Beispiel #1
0
    def test_paginator_page_orphas(self):
        """paginator.page() returns orphans"""
        items = range(10)

        paginator = Paginator(items, 7, orphans=5)
        page = paginator.page(1)

        self.assertEqual(page.object_list, items)
        self.assertIsNone(page.next_page_first_item)
Beispiel #2
0
    def test_paginator_page_look_ahead(self):
        """paginator.page() has lookahead"""
        items = range(10)

        paginator = Paginator(items, 6, orphans=3)
        page = paginator.page(1)

        self.assertEqual(page.object_list, items[:6])
        self.assertEqual(page.next_page_first_item, items[6])

        page = paginator.page(2)
        self.assertEqual(page.object_list, items[6:])
        self.assertIsNone(page.next_page_first_item)
Beispiel #3
0
    def redirect_after_deletion(self, request, queryset):
        paginator = Paginator(queryset, 10, 3)
        current_page = int(request.resolver_match.kwargs.get('page', 0))

        if paginator.num_pages < current_page:
            namespace = request.resolver_match.namespace
            url_name = request.resolver_match.url_name
            kwars = request.resolver_match.kwargs
            kwars['page'] = paginator.num_pages
            if kwars['page'] == 1:
                del kwars['page']
            return redirect('%s:%s' % (namespace, url_name), **kwars)
        else:
            return redirect(request.path)