flask的分页

#后端代码
@book.route('/list',methods=['GET','POST'])     # 路由定义!
def index():
    if request.method =='GET':
        paginate = Books.query.paginate(1,3) # 默认查询第1页
        page = int(request.args.get('page',1))  
        if page<0:
            page = 1 #如果输入的小于0 则默认显示第一页
        if page >= paginate.pages: # 判断是否大于总页数
            page = paginate.pages  #如果大于总页数  则显示最大的
        paginate = Books.query.paginate(page,3)
        books = paginate.items #当前页数据 
        return render_template('books.html',books=books,paginate=paginate) # 跳转到模板!
#便利显示后端传的内容

<ul>
    {% for item in books %}
    <li>id:{{item.id}},书名:{{item.name}},作者名:{{item.author.name}}  <a href="del_blog/{{ item.id }}">删除</a><a href="#">修改</a></li>
    {% endfor %}
</ul>


#前端代码 下边的 上一页下一页和页数

<ul class="pg">
    {% if paginate.has_prev%}
        <li><a href="/book/list?page={{paginate.prev_num}}">上一页</a></li>
    {%endif%}
    {%for i in paginate.iter_pages()%}
        {%if paginate.page == i %}
            <li><a href="/book/list?page={{i}}" class="current">{{i}}</a></li>
        {%else%}
            <li><a href="/book/list?page={{i}}">{{i}}</a></li>
        {%endif%}

    {%endfor%}
    {% if paginate.has_next%}
        <li><a href="/book/list?page={{paginate.next_num}}">下一页</a></li>
    {%endif %}
上一篇:JAVA 例子


下一篇:Vue笔记六——书籍购物车案例