生活随笔
收集整理的這篇文章主要介紹了
python-分页代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
page.py
'''
django內(nèi)使用方式:
all_count = models.UserInfo.objects.all().count()
# path_info 當(dāng)前頁(yè)的url
# all_count所有用戶信息的數(shù)量
# 10 一頁(yè)顯示的數(shù)量
page_info = PageInfo(request.GET.get('p'),10,all_count,request.path_info)
print(page_info.end())
user_list = models.UserInfo.objects.all()[page_info.start():page_info.end()]
'''
class PageInfo(object):def __init__(self,current_page,per_page_num,all_count,base_url,page_range=7):''':param current_page: 當(dāng)前頁(yè):param per_page_num: 每頁(yè)顯示數(shù)據(jù)的條數(shù):param all_count: 數(shù)據(jù)庫(kù)用戶總個(gè)數(shù):param base_url: 生成頁(yè)碼標(biāo)簽的前綴:param page_range: 頁(yè)面最多顯示的頁(yè)碼個(gè)數(shù)'''try:current_page = int(current_page)except Exception as e:current_page = int(1)self.current_page = current_pageself.per_page_num = per_page_numself.all_count = all_counta,b = divmod(all_count,per_page_num)if b != 0:self.all_page = a + 1else:self.all_page = aself.base_url = base_urlself.page_range = page_rangedef start(self):return (self.current_page - 1)*self.per_page_numdef end(self):return self.current_page * self.per_page_numdef page_str(self):'''在HTML頁(yè)面中顯示頁(yè)碼信息:return:''''''<nav aria-label="..."><ul class="pager"><li><a href="#">Previous</a></li><li><a href="#">Next</a></li></ul></nav>'''page_list = []if self.current_page <= 1:prev = "<li><a href='#'>上一頁(yè)</a></li>"else:prev = "<li><a href='%s?p=%s'>上一頁(yè)</a></li>"%(self.base_url ,self.current_page - 1,)page_list.append(prev)if self.all_page <=self.page_range:start = 1end = self.all_page+1else:# 頁(yè)數(shù)if self.current_page > int(self.page_range/2):if (self.current_page + int(self.page_range/2)) > self.all_page:start = self.all_page - self.page_range + 1end = self.all_page + 1else:start = self.current_page-int(self.page_range/2)end = self.current_page+int(self.page_range/2)+1else:start = 1end = self.page_range+1for i in range(start,end):if self.current_page == i:temp = "<li class='active'><a href='%s?p=%s'>%s</a></li>" %(self.base_url,i,i)else:temp = "<li ><a href='%s?p=%s'>%s</a></li>" % (self.base_url, i, i)page_list.append(temp)if self.current_page >= self.all_page:nex = "<li><a href='#'>下一頁(yè)</a></li>"else:nex = "<li><a href='%s?p=%s'>下一頁(yè)</a></li>"%(self.base_url, self.current_page + 1,)page_list.append(nex)return ''.join(page_list)
轉(zhuǎn)載于:https://www.cnblogs.com/can-H/p/6918195.html
總結(jié)
以上是生活随笔為你收集整理的python-分页代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。