python flask实现分页的示例代码
Python  /  管理员 发布于 7年前   163
结合mysql数据库查询,实现分页效果
@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='https:user/user_list?p=1'>首页</a></li> <li class=''><a href='https: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="https:user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li> {%else%} <li><a href="https:user/user_list?p={{dic}}" rel="external nofollow" rel="external nofollow" >{{dic}}</a></li> {%endif%} {%endfor%} {% if datas.p < datas.total%} <li class=''><a href='https:user/user_list?p={{datas.p+1}}'>下一页</a></li> <li class=''><a href='https:user/user_list?p={{datas.total}}'>尾页</a></li> {%endif%} 共{{datas.total}}页 </ul>
bootstrap样式 http://edu..net.cn/bootstrap/bootstrap-pagination.html
如果是返回给APP端的话,直接返回data数据就可以了。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号