Flask_sqlalchemy之數據分頁

在做項目中很多時候我們都需要分頁,可能很多人都知道使用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):迭代分頁中的頁碼

好了,今天的內容我介紹完了,大家嘗試一下吧。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章