分页

作者: GHope | 来源:发表于2018-10-16 22:44 被阅读23次

分页的实现

@blue.route('/paginate/')
def stu_page():
    page = int(request.args.get('page', '1'))
    # 1.offset+limit
    stus = Students.query.offset((page - 1) * 2).limit(2)
    # 2.切片
    stus = Students.query.all()[(page - 1) * 2:page * 2]
    # 3.sql
    sql = 'select * from students limit %s,%s' % ((page - 1) * 2, 2)
    stus = db.session.execute(sql)
    # paginate()方法
    paginate = Students.query.paginate(page, 3)
    stus = paginate.items
    return render_template('stus.html', stus=stus, paginate=paginate)

前端页面中的展示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Students</title>
</head>
<body>
    <table>
        <thead>
            <th>ID</th>
            <th>姓名</th>
            <th>年龄</th>
        </thead>
        <tbody>
            {% for stu in stus %}
                <tr>
                    <td>{{ stu.id }}</td>
                    <td>{{ stu.s_name }}</td>
                    <td>{{ stu.s_age }}</td>
                </tr>
            {% endfor %}
        </tbody>
    </table>
    <br>
    <p>当前是第{{ paginate.page }}页,总共有{{ paginate.pages }}页</p>
    {% if paginate.has_prev %}
        <a href="{{ url_for('user.stu_page') }}?page={{ paginate.prev_num }}">上一页</a>
    {% endif %}

    {% for page in paginate.iter_pages() %}
        {% if page %}
            {% if page == paginate.page %}
                <a href="###">{{ page }}</a>
            {% else %}
                <a href="{{ url_for('user.stu_page') }}">{{ page}}</a>
            {% endif %}
        {% else %}
            <a href="###">&hellip;</a>
        {% endif %}
    {% endfor %}

    {% if paginate.has_next %}
        <a href="{{ url_for('user.stu_page') }}?page={{ paginate.next_num }}">下一页</a>
    {% endif %}
</body>
</html>

相关文章

  • MyBatis之分页

    五、分页 目录:使用Limit分页、RowBounds分页、分页插件 1.使用Limit分页 语法: 使用MyBa...

  • JS的分页算法

    分页的总页数算法 分页算法 分页存储过程或者页面分页中的分页算法: int pagesize // 每页记录数 i...

  • WEB页面中几种常见的分页样式

    这里谈谈WEB页面中几种常见的分页样式 分页样式一:滚动翻页image 分页样式二:常规分页image 分页样式三...

  • 目录【Java分页(前台+后台)】

    SubList分页-001-分页概述 SubList分页-002-需求 SubList分页-003-中文处理 Su...

  • SSM框架-实现Mybatis分页功能-foreknow_cms

    分页处理 分页1、前台分页2、数据库(后台)分页3、存储过程 Orade (Rownum) Mysql(lim...

  • 2018-10-10:分页

    分页 真分页使用特定的sql语句,条件查询出指定内容 假分页数据全部取出,在页面分页显示 分页数据pageSize...

  • Springboot 分页

    //分页返回类 @ApiModel(value ="分页内容", description ="分页数据返回内容")...

  • 分页SQL

    分页 rownum,rowid 分页SQL

  • Java Web 之分页技术

    本文包括:1、分页技术概述2、实现分页3、完善分业——分页工具条4、几种常见的分页工具条 1、分页技术概述 物理分...

  • 代码CR之分页查询常见问题

    分页查询常见问题: 1.完全没有分页 2.分页size太大 3.超多分页慢SQL 1.完全没有分页 反例: 正例:...

网友评论

    本文标题:分页

    本文链接:https://www.haomeiwen.com/subject/otibaftx.html