在做項目中很多時候我們都需要分頁,可能很多人都知道使用paginate進行分頁,可是然後就不知道了,今天像大家介紹一下個paginate分頁。
paginate(self, page=None, per_page=None, error_out=True, max_per_page=None)
page:需要查詢第幾頁的數據,默認值:1
源代碼"""
if page is None:
try:
page = int(request.args.get('page', 1))
except (TypeError, ValueError):
if error_out:
abort(404)
page = 1"""
per_page:每頁數據量,默認值:20
源代碼"""
if per_page is None:
try:
per_page = int(request.args.get('per_page', 20))
except (TypeError, ValueError):
if error_out:
abort(404)
per_page = 20"""
error_out:當參數爲True時,會有404響應,在page<1或per_page<0都會響應404
源代碼"""
if page < 1:
if error_out:
abort(404)
else:
page = 1
if per_page < 0:
if error_out:
abort(404)
else:
per_page = 20"""
max_per_page:每頁最大數據量,如果指定,則默認取其與per_page的最小值
源代碼"""
if max_per_page is not None:
per_page = min(per_page, max_per_page)"""
其實今天我想寫的並不是這幾個參數,而是它的返回值,Pagination對象,既然他返回了一個Pagination對象,那麼這個東西是什麼,有什麼用呢?
Pagination(query, page, per_page, total, items):一個幫助分頁的類
has_next:判斷是否有下一頁
has_prev:判斷是否有上一頁
next_num:返回下一頁頁碼
prev_num:返回上一頁頁碼
page :當前頁碼
pages:總頁數
per_page:每一頁的數據量
prev():返回Pagination上一頁的對象
next():返回Pagination下一頁的對象
items:返回當前頁面項目,可遍歷
iter_pages(left_edge = 2,left_current = 2,right_current = 5,right_edge = 2):迭代分頁中的頁碼
好了,今天的內容我介紹完了,大家嘗試一下吧。