• flask中的分页器


    paginate():  分页查询,返回一个分页对象

    paginate(参数1, 参数2, 参数3) :

      参数1:当前是第几页(page)

      参数2:每页显示几条信息(per_page)

      参数3:error_out:error_out= False 的情况下不会抛出异常

          如果error_out = True 则下面几种情况会抛出404异常:找不到项目,并且page不是 page小于1,或者per_page为负数 page或per_page不是整数 page大于总页数;

    @app.route('/booklist/', methods=['GET', 'POST'])
    def book_list():
    page = int(request.args.get('page', 1)) # 当前页数,request.args.get()方法获取页面的参数,如果没有获取到页码就默认为1
    per_page = 3 # 每页数量
    paginate = Book.query.paginate(page, per_page, error_out=False) # 创建分页器对象
    return render_template('book_list_paginate.html', paginate= paginate)

    属性:
    items : 表示获得的查询结果
    pages : 表示一共有多少页
    page :获得当前页码数
    total :数据总条数
    has_prev: 是否有上一页
    has_next: 是否有下一页
    prev_num:上一页页码
    next_num:下一页页码
    iter_page():当前页的页码列表


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>books</title>
    </head>
    <body>
    <h2>书籍信息</h2>
    {% for b in paginate.items %}
    编号:{{ b.id }}
    书名:{{ b.name }}
    <br>
    {% endfor %}
    总页数:{{ paginate.pages }}
    数据总条数:{{ paginate.total }}
    当前页数:{{ paginate.page }}
    <a href="/booklist/?page=1">首页</a>
    {% if paginate.has_prev %}
    <a href="/booklist/?page={{ paginate.prev_num }}">上一页</a>
    {% endif %}
    {% if paginate.has_next %}
    <a href="/booklist/?page={{ paginate.next_num }}">下一页</a>
    {% endif %}
    <a href="/booklist/?page={{paginate.pages}}">尾页</a>
    页码:
    {% for i in paginate.iter_pages() %}
    <a href="/booklist/?page={{ i }}">{{ i }}</a>
    {% endfor %}
    </body>
    </html>


  • 相关阅读:
    记uniapp在真机调试网络请求上遇到的一坑
    使用Vconsole在手机浏览器上进行console
    使用容联云通讯开发获取短信验证码功能
    WSL修改默认安装目录到其他盘
    Xdebug3 配置
    MySQL批量更新数据
    arcmap之jpg图片转tif(定义参考系)
    ColorThief之获取图片主色
    jquery之表单加载图片并预览
    ol3之添加点、线
  • 原文地址:https://www.cnblogs.com/Jokerguigui/p/11531968.html
Copyright © 2020-2023  润新知