from django.shortcuts import render,HttpResponse from app01 import models def hostnames(request): current_page = int(request.GET.get(‘page‘)) #获取当前页数 per_page = 10 #定义每页显示的页数 all_data = models.Host.objects.all().count() #统计数据库数据条数 all_page,b = divmod(all_data,per_page) #获取分多少页显示 if b != 0: all_page += 1 start_page = (current_page-1) * per_page #定义从哪儿开始 end_page = current_page * per_page #定义从哪儿结束 host_list = models.Host.objects.all()[start_page:end_page] 从数据获取展示的数据 page_count = 11 half_page_count = int(page_count /2) if all_page < page_count: page_start = 1 page_end = page_count else: if current_page <= half_page_count: page_start = 1 page_end = page_count else: if (current_page+5) > all_page: page_end = all_page page_start = all_page-page_count else: page_start = current_page -half_page_count page_end = current_page + half_page_count url_list = [] if current_page <= 1: prev = ‘<a href="#">上一页</a>‘ else: prev = ‘<a href="/hostnames/?page=%s">上一页</a>‘%(current_page-1) url_list.append(prev) for i in range(page_start,page_end+1): if current_page == i: tp = ‘<a class="active href="/hostnames/?page=%s">%s</a>‘ % (i, i) else: tp = ‘<a href="/hostnames/?page=%s">%s</a>‘ %(i,i) url_list.append(tp) if current_page >= all_page: next = ‘<a href="#">下一页</a>‘ else: next = ‘<a href="/hostnames/?page=%s">下一页</a>‘%(current_page+1) url_list.append(next) page_str = "".join(url_list) print(page_str) return render(request,‘hostnames.html‘,{‘host_list‘:host_list,‘page_str‘:page_str})
待补充类......
原文:https://www.cnblogs.com/guniang/p/11346518.html