sqlAchemy分页实现

Posted liuer-mihou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlAchemy分页实现相关的知识,希望对你有一定的参考价值。

技术图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="../css/bootstrap.min.css">
</head>
<body>

<div id="example"></div>

<script src="../lib/jquery-1.9.1.min.js"></script>
<script src="../lib/bootstrap.min.js"></script>
<script src="../build/bootstrap-paginator.min.js"></script>
<script>
    let currentPage = 1;//当前页
    let pageSize = 3;//每页显示多少条

    function render() 
        $.ajax(
            url: "xxx",
            data: 
                page: currentPage,
                pageSize: pageSize,
                content: HUM,
                imei: 867726030890182,
            ,
            dataType: "json",
            success: function (result) 
                console.log(result);
                // 将数据渲染到页面 ***前端渲染数据*******
                $("#example").text(你好!!);
                // 调用分页函数.参数:当前所在页, 总页数(用总条数 除以 每页显示多少条,在向上取整), ajax函数
                setPage(currentPage, Math.ceil(result.count / pageSize), render)
            
        )
    

    render();

    /**
     *
     * @param pageCurrent 当前所在页
     * @param pageSum 总页数
     * @param callback 调用ajax
     */
    function setPage(pageCurrent, pageSum, callback) 
        $("#example").bootstrapPaginator(

            size: "small",//控件的大小
            alignment: "center",//控件的位置
            itemTexts: function (type, page, current) 
                switch (type) 
                    case "first":
                        return "首页";
                    case "prev":
                        return "上一页";
                    case "next":
                        return "下一页";
                    case "last":
                        return "末尾";
                    case "page":
                        return page;
                
            ,
            // 显示第几页
            currentPage: pageCurrent,
            // 总页数
            totalPages: pageSum,
            //当单击操作按钮的时候, 执行该函数, 调用ajax渲染页面
            onPageClicked: function (event, originalEvent, type, page) 
                // 把当前点击的页码赋值给currentPage, 调用ajax,渲染页面
                currentPage = page;
                callback && callback()
            
        )
    
</script>

</body>
</html>
前端
技术图片
content = self.get_argument(content)
        imei = self.get_argument(imei)
        currentPage = int(self.get_argument(page))  # 当前页
        pageSize = int(self.get_argument(pageSize))  # 每页多少条

        query = db_session.query(Alarm).filter(Alarm.content == content, Alarm.IMEI == imei)  # Query对象
        count = query.count()  # 总数

        # limit x offset y 跳过y条数据,读x条数据
        # values得到的是一个生成器
        all_alarm = [warning: obj.warning, createtime: obj.createtime for obj in
                     query.limit(pageSize).offset((currentPage - 1) * pageSize).values(Alarm.warning,
                                                                                       Alarm.createtime
                                                                                       )]

        self.write(json.dumps(code: 0, data: all_alarm, count: count, cls=DatetimeEncoder,
                              ensure_ascii=False))
后端

应用组件:Bootstrap-Paginator

参数地址请参考:https://www.cnblogs.com/zooey/p/9218089.html

组件GItHub地址:https://github.com/lyonlai/bootstrap-paginator

以上是关于sqlAchemy分页实现的主要内容,如果未能解决你的问题,请参考以下文章

DEDEcms 内容页如何实现内容分页

asp.NET分页如何实现?

Spring AOP 实现PageHelper自动分页

在JSP中如何实现分页技术啊?

Django实现自定义分页

Vue滚动底部分页实现