我正在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
集成
我还能用什么?你知道吗
分页器无法获取所有对象。就像你的案子一样,你要了25件东西。因此,每个页面将包含25个对象。当您尝试访问下一页时,将向access objects 26-50发送一个新的DB请求。你知道吗
相关问题 更多 >
编程相关推荐