python 换页_python web分页

class PageInfo(object):

def __init__(self, current_page, per_page_num, all_count, base_url, page_range=11):""":param current_page: 当前页

:param per_page_num: 每页显示数据条数

:param all_count: 数据库总个数

:param base_url: 页码标签的前缀

:param page_range: 页面最多显示的页码个数""" try:

current_page= int(current_page)

except Exceptionase:

current_page= int(1)

self.current_page=current_page

self.per_page_num=per_page_num

self.all_count=all_count

a, b=divmod(all_count, per_page_num)if b != 0:

self.all_page= a + 1

else:

self.all_page=a

self.base_url=base_url

self.page_range=page_range

def start(self):return (self.current_page - 1) *self.per_page_num

def end(self):return self.current_page *self.per_page_num

def page_str(self):"""在HTML页面中显示页码信息

:return:""" page_list =[]if self.current_page <= 1:

prev= '

上一页'

else:

prev= '

上一页' % (self.base_url, self.current_page - 1,)

page_list.append(prev)

# 只有 8页if self.all_page <=self.page_range:

start= 1end= self.all_page + 1

else:

# 页数18

if self.current_page > int(self.page_range / 2):

# 当前页:6,7,8,,9,100

if (self.current_page + int(self.page_range / 2)) >self.all_page:

start= self.all_page - self.page_range + 1end= self.all_page + 1

else:

start= self.current_page - int(self.page_range / 2)

end= self.current_page + int(self.page_range / 2) + 1

else:

# 当前页:1,2,3,4,5,

start= 1end= self.page_range + 1

for i inrange(start, end):if self.current_page ==i:

temp= '

%s' %(self.base_url, i, i,)else:

temp= '

%s' %(self.base_url, i, i,)

page_list.append(temp)if self.current_page >=self.all_page:

nex= '

下一页'

else:

nex= '

下一页' % (self.base_url, self.current_page + 1,)

page_list.append(nex)return "".join(page_list)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值