在作項目中不少時候咱們都須要分頁,可能不少人都知道使用paginate進行分頁,但是而後就不知道了,今天像你們介紹一下個paginate分頁。
paginate(self, page=None, per_page=None, error_out=True, max_per_page=None)segmentfault
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):迭代分頁中的頁碼
好了,今天的內容我介紹完了,你們嘗試一下吧。
有關iter_pages遍歷問題,請參考個人另外一篇文章:https://segmentfault.com/a/11...code