Flask_sqlalchemy之數據分頁

在作項目中不少時候咱們都須要分頁,可能不少人都知道使用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

相關文章
相關標籤/搜索