【发布时间】:2015-06-08 17:39:47
【问题描述】:
我正在尝试在 django 项目中实现分页。
我查看了default django paginator,发现了这个例子:
def listing(request):
contact_list = Contacts.objects.all()
paginator = Paginator(contact_list, 25) # Show 25 contacts per page
page = request.GET.get('page')
try:
contacts = paginator.page(page)
except PageNotAnInteger:
# If page is not an integer, deliver first page.
contacts = paginator.page(1)
except EmptyPage:
# If page is out of range (e.g. 9999), deliver last page of results.
contacts = paginator.page(paginator.num_pages)
return render_to_response('list.html', {"contacts": contacts})
看起来它从数据库中获取所有对象并将所需的对象返回到模板。
这不是很有效吧?
我还查看了django-endless-pagination,这似乎很难自定义。
我正在寻找易于定制的解决方案,因为我会将其与 haystack 和 elasticsearch 集成
我还能用什么?
【问题讨论】:
-
@f43d65,哦,当然!请把它写成答案,这样我才能接受。谢谢
标签: python django pagination