微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 %}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐