分頁器 Paginator

類屬性

Paginator類屬性有( object_list , per_page , orphans = 0 , allow_empty_first_page = True )

object_list

必要屬性。表名當(dāng)前待分頁的對象是什么

可以是列表、元組、查詢集或其他可以切片的對象。(需要實(shí)現(xiàn)count方法或__len__()方法的)

per_page

必要屬性。單個(gè)頁面上的項(xiàng)目個(gè)數(shù)

orphans

非必要屬性??梢詫⒆詈笠粋€(gè)頁面和倒數(shù)第二個(gè)頁面合并,通常被用來合并最后一頁內(nèi)容少于正常分頁內(nèi)容的頁面。 例如,有23個(gè)項(xiàng)目是,per_page=10以及orphans=3,將有兩頁; 第一頁包含10個(gè)項(xiàng)目,第二頁(也是最后一頁)包含13個(gè)項(xiàng)目。orphans默認(rèn)為零,這意味著從不合并頁面,最后一頁可能只有一項(xiàng)。

allow_empty_first_page

非必要屬性。用來判斷第一頁是否允許為空。注意: 如果 Falseobject_list都為空時(shí),將引發(fā)EmptyPage錯(cuò)誤

類方法

Paginator.get_page (number)

返回索引的頁對象基于1的查詢結(jié)果,并且處理超出范圍和無效的頁碼。

如果頁面不是數(shù)字,則返回第一個(gè)頁面。如果頁碼為負(fù)數(shù)或大于頁數(shù),則返回最后一頁。

當(dāng) Paginator(..., allow_empty_first_page=False) 和 object_list 為空,發(fā)生EmptyPage錯(cuò)誤

Paginator.page(number )

返回具有給定的基于1的索引的Page對象。如果給定的頁碼不存在,則引發(fā)InvalidPage錯(cuò)誤。

Paginator.count

獲取所有頁面上的對象總數(shù)

Paginator.num_pages

頁總數(shù)

Paginator.page_range

基于1的頁碼范圍迭代器

Page.has_next()

是否有下一頁,返回值是布爾值

Page.has_previous()

是否有上一頁,返回值是布爾值

Page.has_other_pages()

是否有上一頁或下一頁,返回值是布爾值

Page.next_page_number()

返回下一個(gè)頁碼。如果下一頁不存在,則引發(fā)InvalidPage

Page.previous_page_number()

返回上一個(gè)頁碼。如果上一頁不存在,則引發(fā)InvalidPage

Page.start_index()

返回頁面上的第一個(gè)對象基于1的引索號,例如,當(dāng)分頁一個(gè)包含5個(gè)對象的列表,每個(gè)頁面有2個(gè)對象時(shí),第二個(gè)頁面的start_index()將返回3

Page.end_index()

返回頁面上的最后一個(gè)對象基于1的引索號,例如,當(dāng)分頁一個(gè)包含5個(gè)對象的列表,每個(gè)頁面有2個(gè)對象時(shí),第二個(gè)頁面的start_index()將返回4

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容