Django的分頁功能——Paginator

寫一篇博客記錄Django.core.paginator的Paginator方法的使用

一、導入Paginator

from django.core.paginator import Paginatror

Paginator(object_list,per_page,orphans = 0,allow_empty_first_page = True)

二、Paginator方法的一些參數:

參數 是否必選 描述
object_list 必選參數 列表、元組或其他可切片對象,項目中多是數據庫的查詢集。
per_page 必選參數 分頁後每頁的對象個數。
orphans 可選參數 默認爲0,表示當最後一頁的對象個數<=orphans時,將這些對象合併到上一頁中去。
allow_empty_first_page 可選參數 默認爲True,設置第一頁是否可以爲空,如果是True且object_list爲空,則引發EmptyPage錯誤。

三、Pagenator對象的方法:

方法 參數 描述
page() number 返回包含第number頁內容的Page對象,若頁碼不存在則引發InvalidPage錯誤。
get_page() number 返回包含第number頁內容的Page對象。如果頁面不是數字,則返回第一頁。如果頁數爲負或大於頁數,則返回最後一頁。

四、Paginator對象的屬性:

方法 描述
count object_list的對象個數。
num_pages 分頁後的總頁數。
page_range 基於1的頁碼序列,如[1,2,3,4]。

五、Page對象的方法

方法 描述
has_next() 是否有下一頁,有則返回True。
has_previous() 是否有上一頁,有則返回True。
next_page_number() 返回下一頁的頁碼。如果下一頁不存在,則引發InvalidPage錯誤。
previous_page_number() 返回上一頁的頁碼。如果下一頁不存在,則引發InvalidPage錯誤。
start_index() 返回本頁第一個對象相對於object_list的索引(基於1)。
end_index() 返回本頁最後一個對象相對於object_list的索引(基於1)。

六、Page對象的屬性

屬性 描述
object_list 返回該頁面上的對象列表
number 返回該頁的頁碼
paginator 返回Page對象的上一級關聯的對象Paginator。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章