python web框架中实现原生分页
本文实例为大家分享了pythonweb框架实现原生分页的具体代码,供大家参考,具体内容如下
原生分页器示例
#!/usr/bin/envpython #-*-coding:utf-8-*- classPagination: def__init__(self,p,all_count,pre=10,max_show=11): ''' :paramp:当前页码 :paramall_count:数据总条数 :parampre:每页数据量 :parammax_show:最多页码数 ''' try: self.p=int(p)#传进来的页码 ifself.p<=0: self.p=1 exceptExceptionase: self.p=1 #总量 #all_count=all_count #pre=per#每页数据条数 total_num,more=divmod(all_count,pre) ifmore: total_num+=1#total_num总数据页数 #显示页码数 max_show=max_show iftotal_num<=max_show:#总数据量很小 page_start=1 page_end=total_num else: ifself.p-max_show//2<=0:#防止左边出现0页 page_start=1 page_end=max_show elifself.p+max_show//2>=total_num+1:#防止右边出现超出 page_end=total_num page_start=page_end-max_show else: page_start=self.p-max_show//2 page_end=self.p+max_show//2 #数据的起始结束 self.start=(self.p-1)*pre self.end=self.p*pre #页码 self.page_start=page_start self.page_end=page_end self.total_num=total_num @property defpage_html(self): li_list=[] foriinrange(self.page_start,self.page_end+1): ifi==self.p: li_list.append('{}'.format(i,i)) else: li_list.append(' '.format(i,i)) #添加页首页尾 li_list.insert(0, ' {} '.format( self.p-1)) li_list.append( ' « '.format(self.p+1)) ifself.p==1: li_list[0]=' » «' elifself.p==self.total_num: li_list[-1]=' »' pagehtml=''.join(li_list) returnpagehtml
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。