Flask 實現資料分頁

2021-09-13 23:07:06 字數 3865 閱讀 3160

目錄

一、flask-sqlalchemy - 直接獲取分頁後的資料

1-0 基於 flsk-sqlalchemy 的批量資料插入 - add_all(list)

1-1 pagination物件的常用屬性

1-2 pagination物件的常用方法

二、flask-paginate - 對原始資料進行分頁

三、flask-redis 的資料分頁

3-1 簡單指定當前頁page和顯示頁數per_page獲取分頁資料

flask-sqlalchemy 官方文件

flask-sqlalchemy 實現分頁的簡單學習

paginate(page=none, per_page=none, error_out=true, max_per_page=none)

returns per_page items from page page.

if page or per_page are none, they will be retrieved from the request query. if max_per_page is specified, per_page will be limited to that value. if there is no request or they aren』t in the query, they default to 1 and 20 respectively.

如果page或per_page為none,則將從請求查詢中檢索它們。如果指定了max_per_page,則per_page將限制為該值。如果沒有請求或它們不在查詢中,則它們分別預設為1和20。

returns a pagination object. - 返回 pagination 物件

print('items 當前頁面的所有記錄:',pagination.items)

print('page 當前頁碼:',pagination.page)

print('per_page 每頁顯示記錄條數:',pagination.per_page)

print('pages 查詢得到的總頁數:',pagination.pages)

print('total 總記錄條數:',pagination.total)

flask-paginate 官方文件

# 檢視函式

from flask import blueprint, request, jsonify

from flask_restful import resource

from extensions import redis_store0

from . import api

redis_page_blueprint = blueprint('redis_page', __name__)

redis_page_api = api(redis_page_blueprint)

class redispage(resource):

def post(self):

# page 當前頁碼(比如當前頁是第5頁,返回5)

page = int(request.form['page'])

# per_page 每頁顯示的記錄條數量

per_page = int(request.form['per_page'])

print(page, per_page)

# zrangebylex(name, min, max, start=none, num=none) 從有序集合中獲取實時資料列表,根據index排序獲取

# redis_keys = redis_store0.zrangebylex('test', "-", "+", start=(page - 1) * per_page + 1, num=per_page)

# zrangebyscore(self, name, min, max, start=none, num=none, withscores=false, score_cast_func=float) 根據score排序

count = redis_store0.zcard('test')

redis_keys = redis_store0.zrangebyscore('test', 0, count, start=(page - 1) * per_page + 1, num=per_page)

print(redis_keys)

res_dic =

return jsonify()

redis_page_api.add_resource(redispage, '/redis_page') #

flask 實現分頁

對學生表裡學生的資料分頁 對應的處理的方法 stu.route stupage defstu page 獲取get請求傳過來的頁數,沒有傳引數,預設為1 page int request.args.get page 1 獲取get請求傳過來的以多少條資料分頁的引數,預設為5 per page int...

Flask用paginate實現資料分頁(一)

flask中用paginate可實現資料分頁效果,首先梳理一下paginate的知識點。paginate page,per page,error out true page 當前頁數 per page 每頁顯示的條數 error out 是否列印錯誤資訊 a paginate.page 當前頁數 b...

Flask快速實現分頁效果

先上整體效果圖 然後是分頁圖詳情 路由 views.py login required def blog list page none 模板 blog list.html和pages.html blog list.html作為部落格頁面,pages.html模板為分頁頁面,呈現時會在blog lis...