如何获取 Page 对象中的项目数?
How to get the number of items in Page object?
我从这里学到了一些关于 django 分页的知识:https://docs.djangoproject.com/en/2.0/topics/pagination/#page-objects
我想知道如何获取某个页面对象中的项目数。
我是这样想的:Page.end_index() - Page.start_index() + 1
但我认为这可能不是获得结果的好方法或不准确的方法。
有什么好的方法可以得到正确的结果吗?
可能 len(page.object_list)
是最简单的。
有点类似于:
Paginator(query, objects_per_page, current_page_number)
然后将生成的分页器对象传递到模板中。
在分页器的初始化程序中,您需要执行类似以下操作:
def __init__(self, query, objects_per_page, current_page_number):
self.total = query.count()
self.per_page = objects_per_page
self.current_page_number = current_page_number
self.lower_limit = objects_per_page * current_page_number
self.upper_limit = objects_per_page * (current_page_number + 1)
if self.upper_limit > self.total:
self.upper_limit = self.total
self.objects = query[self.lower_limit - 1:self.upper_limit - 1]
然后在模板中做如下操作:
Showing {{paginator.lower_limit}}-{{paginator.upper_limit}} of {{paginator.total}}
我希望这能让您大致了解如何干净地执行此操作。
在模板中:
{{ page_obj.paginator.count }} # The total number of objects, across all pages
{{ page_obj.paginator.per_page }} # The number of objects every page
{{ page_obj.paginator.num_pages }} # The total number of pages.
我从这里学到了一些关于 django 分页的知识:https://docs.djangoproject.com/en/2.0/topics/pagination/#page-objects
我想知道如何获取某个页面对象中的项目数。
我是这样想的:Page.end_index() - Page.start_index() + 1
但我认为这可能不是获得结果的好方法或不准确的方法。
有什么好的方法可以得到正确的结果吗?
可能 len(page.object_list)
是最简单的。
有点类似于:
Paginator(query, objects_per_page, current_page_number)
然后将生成的分页器对象传递到模板中。
在分页器的初始化程序中,您需要执行类似以下操作:
def __init__(self, query, objects_per_page, current_page_number):
self.total = query.count()
self.per_page = objects_per_page
self.current_page_number = current_page_number
self.lower_limit = objects_per_page * current_page_number
self.upper_limit = objects_per_page * (current_page_number + 1)
if self.upper_limit > self.total:
self.upper_limit = self.total
self.objects = query[self.lower_limit - 1:self.upper_limit - 1]
然后在模板中做如下操作:
Showing {{paginator.lower_limit}}-{{paginator.upper_limit}} of {{paginator.total}}
我希望这能让您大致了解如何干净地执行此操作。
在模板中:
{{ page_obj.paginator.count }} # The total number of objects, across all pages
{{ page_obj.paginator.per_page }} # The number of objects every page
{{ page_obj.paginator.num_pages }} # The total number of pages.