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

后台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模版分页代码

{% if datas.show_shouye_status==1%}

首页 上一页

{%endif%}

{% for dic in datas.dic_list %}

{% if dic==datas.p%}

{{dic}}

{%else%}

{{dic}}

{%endif%}

{%endfor%}

{% if datas.p < datas.total%}

下一页 尾页

{%endif%}

共{{datas.total}}页

1504965207685.jpg

总结:

代码已测!

很好用!

如果你是PHP语言,准备写分页,完全可以读代码,自己改改!!

之后会写PHP语言的分页!!如果帮到你,请分享。帮助更多的人!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值