寫一篇博客記錄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。 |