python flask实现百度分页效果代码

在写管理系统的时候很多地方需要用到分页。直接上代码!
bootstrap样式 http://www.runoob.com/bootstrap/bootstrap-pagination.html

后台python代码

@user.route("/user_list",methods=['POST','GET'])
def user_list():
    p = g.args.get("p", '') #页数
    show_shouye_status = 0  #显示首页状态

    if p =='':
        p=1
    else:
        p=int(p)
        if p > 1:
            show_shouye_status = 1

    mdb = db_session()
    limit_start = (int(p)-1)*10#起始

    sql ="select * from page_text limit {0},10".format(limit_start)
    user_list=mdb.getMany(sql)

    sql="select count(id) as total from page_text"
    count = mdb.getOne(sql)['total'] #总记录
    total = int(math.ceil(count/10.0)) #总页数

    dic = get_page(total,p)
    datas={
        'user_list':user_list,
        'p': int(p),
        'total': total,
        'show_shouye_status': show_shouye_status,
        'dic_list': dic

    }
    return render_template("user_list.html",datas=datas)

自己封装的函数代码 get_page

def get_page(total,p):
    show_page = 5   # 显示的页码数
    pageoffset = 2  # 偏移量
    start = 1    #分页条开始
    end = total  #分页条结束

    if total > show_page:
        if p > pageoffset:
            start = p - pageoffset
            if total > p + pageoffset:
                end = p + pageoffset
            else:
                end = total
        else:
            start = 1
            if total > show_page:
                end = show_page
            else:
                end = total
        if p + pageoffset > total:
            start = start - (p + pageoffset - end)
    #用于模版中循环
    dic = range(start, end + 1)
    return dic

模版样式是Bootstrap模版分页代码

<ul class="pagination">
       {% if datas.show_shouye_status==1%}
           <li class=''><a href='/user/user_list?p=1'>首页</a></li>
           <li class=''><a href='/user/user_list?p={{datas.p-1}}'>上一页</a></li>
      {%endif%}
            
       {% for dic in datas.dic_list %}
           {% if dic==datas.p%}
             <li class="active"><a href="/user/user_list?p={{dic}}">{{dic}}</a></li>
           {%else%}
               <li><a href="/user/user_list?p={{dic}}">{{dic}}</a></li>
           {%endif%}
        {%endfor%}

       {% if datas.p < datas.total%}
            <li class=''><a href='/user/user_list?p={{datas.p+1}}'>下一页</a></li>
            <li class=''><a href='/user/user_list?p={{datas.total}}'>尾页</a></li>
       {%endif%}
            共{{datas.total}}页
 </ul>


1504965207685.jpg

总结:
代码已测!
很好用!
如果你是PHP语言,准备写分页,完全可以读代码,自己改改!!
之后会写PHP语言的分页!!如果帮到你,请分享。帮助更多的人!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,246评论 4 61
  • 第5章 菜单、按钮及导航 一、下拉菜单 小伙伴们注意,在Bootstrap框架中的下拉菜单组件是一个独立的组件,根...
    凛0_0阅读 5,056评论 0 66
  • 我爸常和我说:不要让自己太闲,闲下来就会容易七想八想,想多了,想开了还好,想不开就抑郁了……原话就是这样。 ...
    海君不忘初阅读 870评论 0 1
  • 1918年,有一个时龄稍长于我的年轻人在某大学图书馆谋了一份管理员的差事。82年后的那年夏天,我在报刊栏看到一则招...
    _觉浅阅读 219评论 0 1
  • 刚姑娘和柔姑娘是一对好朋友。由于误会,两人在全班同学面前互相怼了几句。事后刚姑娘很是后悔她粗暴对待柔姑娘,而柔姑娘...
    胡子JuliaHu阅读 285评论 0 0