分页器是我们网站中常用的一种小插件,可以帮我们实现数据的分页化
那么我们要如何实现分页器呢,接下来让我们了解一下
实现原理
对我们已经存放的数据按照规定条数,以一页一页的方式显示,最后一页要是溢出则再加一页
分页器的一些调用方式
后续补充
具体实现
在这里我们直接上具体的代码来实现我们对于分页器的需求
这里是我们的视图函数
def index(request): '''分页器''' # book_list=[] # for i in range(100): # book = Book(name="book_%s"%i,city=i*i) # book_list.append(book) # # Book.objects.bulk_create(book_list)#插入我们需要的数据 book_list = Book.objects.all()# paginator = Paginator(book_list,15)#取出我们需要的数据以及规定每一页的显示条数 print(paginator.count) print(paginator.num_pages) current_page_num = int(request.GET.get('page', 1)) # 获取当前页数 if paginator.num_pages > 11: if current_page_num - 5 < 1: page_range = range(1,12) elif current_page_num + 5 > paginator.num_pages: page_range = range(paginator.num_pages-10,paginator.num_pages+1) else: page_range = range(current_page_num - 5,current_page_num + 6) else: page_range = paginator.page_range try: #显示某一页具体数据的两种方式 current_page = paginator.page(current_page_num) print('object_list',current_page.object_list) for i in current_page: print(i) except EmptyPage as e: current_page=paginator.page(1) return render(request,'index.html',locals())
在使用之前我们要知道的是我们利用的是Django给我们的分页器组件,不需要我们再造轮子了
所以我们需要导入这些家伙
from django.core.paginator import Paginator,EmptyPage