Pycharm開發(fā)Django項目分頁教程
分頁
在Django中實現分頁功能非常簡單。因為Django已經內置了兩個處理分類的類。分別是Paginator和Page。Paginator用來管理整個分類的一些屬性,Page用來管理當前這個分頁的一些屬性。通過這兩個類,就可以輕松的實現分頁效果。以下對這兩個類進行講解。
Paginator類:
Paginator是用來控制整個分頁的邏輯的。比如總共有多少頁,頁碼區(qū)間等等。都可以從他上面來獲取。
創(chuàng)建Paginator對象:
class Paginator(object_list, per_page, orphans=0, allow_empty_first_page=True),其中的參數解釋如下:
object_list:列表,元組,QuerySet或者是任何可以做切片操作的對象。會將這個里面的對象進行分頁。
per_page:分頁中,一頁展示多少條數據。
orphans:用來控制最后一頁元素的個人如果少于orphans指定的個數的時候,就會將多余的添加到上一頁中。
allow_empty_first_page:如果object_list沒有任何數據,并且這個參數設置為True,那么就會拋出EmptyPage異常。
常用屬性和方法:
Paginator.page(number):獲取number這頁的Page對象。
count:傳進來的object_list總共的數量。
num_pages:總共的頁數。
page_range:頁碼的列表。比如[1,2,3,4]。
Page類:
常用屬性和方法:
has_next():是否還有下一頁。
has_previous():是否還有上一頁。
next_page_number():下一頁的頁碼。
previous_page_number():上一頁的頁碼。
object_list:在當前這頁上的對象列表。
number:當前的頁碼。
paginator:獲取Paginator對象。