Django2 1 內建分頁器

2021-09-12 11:05:55 字數 1836 閱讀 7233

官方文件參考

python提供了內建分頁類,裡面封裝了一些屬性和方法,大大簡化了我們自定義的時間和精力,這個類位於django/core/paginator.py。

from django.core.paginator import paginator
>>> from django.core.paginator import paginator

>>> objects = ['john', 'paul', 'george', 'ringo']

>>> p = paginator(objects, 2) #例項化

>>> p.count #總共資料量

4>>> p.num_pages #總頁數

2>>> type(p.page_range)

>>> p.page_range #頁碼範圍

range(1, 3)

>>> page1 = p.page(1) #第一頁物件

>>> page1

>>> page1.object_list #第一頁資料

['john', 'paul']

>>> page2 = p.page(2)

>>> page2.object_list

['george', 'ringo']

false

true

>>> page2.has_other_pages() #是否有其他頁

true

traceback (most recent call last):

...emptypage: that page contains no results

>>> page2.previous_page_number() #返回前一頁頁碼

1>>> page2.start_index() # the 1-based index of the first item on this page

3>>> page2.end_index() # the 1-based index of the last item on this page

4>>> p.page(0)

traceback (most recent call last):

...emptypage: that page number is less than 1

>>> p.page(3)

traceback (most recent call last):

...emptypage: that page contains no results

例項化有兩個引數,第乙個引數是乙個可迭代物件,即乙個list或tuple或queryset物件或擁有count\__len__()方法。第二個引數是每頁的資料量,必須是整數。

例項化物件的方法 p.get_page(page) 返回指定頁的資料 ,若page不是int,返回第一頁,若頁碼超出範圍或為負數,返回最後一頁;p.page(page)返回指定頁的資料 ,若page不是int或超出範圍,會丟擲invalidpage異常。例項化物件的屬性  count、num_page、page_range;

頁碼物件(p)的方法 has_next()、has_previous()、has_other_pages()、next_page_number()、previous_page_number()、start_index()、end_index();

頁碼物件(p)的屬性 object_list 、number (返回當前頁的頁碼)、paginator(返回例項化物件)

Django 2 1入門教程(六)

在polls目錄下建立static目錄,django將自動從此目錄下查詢靜態檔案。建立polls static polls style.css如下 li a在polls templates polls index.html中新增如下 其中的模板標籤生成靜態檔案的絕對路徑。此時訪問http local...

Django 2 1 版本已經來襲

乙個備受關注 很多人都在使用的軟體,軟體開發團隊會定期發布新版本。其主要目的是修復之前一些 bug 以及新增一些新特性。django 作為主流的 python web 開發框架,當然也不例外。在幾天前,即 8 月 1 號,django 官方團隊發布 django 2.1 版本。新版本發布,我們可以不...

Django 內建分頁

from django.core.paginator import paginator,page userlist models.user.objects.all paginator paginator userlist,10 per page 每頁顯示條目數量 count 資料總個數 num pa...