官方文件參考
python提供了內建分頁類,裡面封裝了一些屬性和方法,大大簡化了我們自定義的時間和精力,這個類位於django/core/paginator.py。
from django.core.paginator import paginator
>>> from django.core.paginator import paginator例項化有兩個引數,第乙個引數是乙個可迭代物件,即乙個list或tuple或queryset物件或擁有count\__len__()方法。第二個引數是每頁的資料量,必須是整數。>>> 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
例項化物件的方法 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...