類屬性
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
非必要屬性。用來判斷第一頁是否允許為空。注意: 如果 False和object_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