可用于显示对象列表的mixin。
如果指定paginate_by,Django将对由此返回的结果进行分页。您可以通过以下两种方法之一在URL中指定页码:
使用URLconf中的page参数。例如,这是您的URLconf可能是什么样子:
url(r'^objects/page(?P<page>[0-9]+)/$', PaginatedView.as_view()),
通过page query-string参数传递页码。例如,网址如下所示:
/objects/?page=3
这些值和列表是基于1的,而不是基于0的,因此第一页将表示为页1。
有关分页的更多信息,请阅读pagination documentation。
作为特殊情况,您还可以使用last作为page的值:
/objects/?page=last
这允许您访问结果的最后一页,而不必先确定有多少页。
请注意,page 必须是有效的页码或值last; page的任何其他值将导致404错误。
延伸
方法和属性
一个布尔值,指定如果没有对象可用,是否显示页面。如果这是False,没有可用的对象,视图将引发404而不是显示一个空页面。默认情况下,这是True。
此视图将显示数据的模型。Specifying model = Foo is effectively the same as specifying queryset = Foo.objects.all(), where objects stands for Foo’s default manager.
表示对象的QuerySet。如果提供,queryset的值将取代为model提供的值。
警告
queryset是具有可变值的类属性,因此在直接使用它时必须小心。在使用它之前,要么调用all()方法,要么使用get_queryset()来检索它,它会处理幕后的克隆。
指定应用于queryset的顺序的字符串或字符串列表。有效值与order_by()的值相同。
一个整数,指定每页应显示多少个对象。如果指定,则视图将使用paginate_by个对象每页分页对象。该视图将期望在URLconf中指定的page查询字符串参数(通过request.GET)或page变量。
一个整数,指定最后一页可以包含的“overflow”对象的数量。这会将最后一页上的paginate_by限制扩展到paginate_orphans,以保持最后一页的对象数量非常少。
指定用于页面参数的名称的字符串。视图将期望此参数可作为查询字符串参数(通过request.GET)或作为在URLconf中指定的kwarg变量。默认为page。
paginator类用于分页。默认情况下,使用django.core.paginator.Paginator。如果自定义paginator类与django.core.paginator.Paginator没有相同的构造函数接口,则还需要为get_paginator()提供实现。
指定要在上下文中使用的变量的名称。
获取此视图的项目列表。这必须是可迭代的,并且可以是查询集(其中将启用查询集特定的行为)。
返回包含(paginator,page,object_list,is_paginated)的4元组。
通过将queryset分页成大小为page_size的页面而构造。如果请求包含page参数(作为捕获的网址参数或GET参数),则object_list将对应于该网页中的对象。
返回要分页的项目数,或None表示无分页。默认情况下,这只返回paginate_by的值。
返回要用于此视图的分页器的实例。默认情况下,实例化paginator_class的实例。
一个整数,指定最后一页可以包含的“overflow”对象的数量。默认情况下,这只返回paginate_orphans的值。
返回一个布尔值,指定如果没有对象可用,是否显示页面。如果此方法返回False默认情况下,这是True。
返回将用于包含此视图正在操作的数据列表的上下文变量名称。如果object_list是Django对象的查询集,并且未设置context_object_name,则上下文名称将是构成查询集的模型的model_name from,后缀'_list'。例如,模型Article会有一个名为article_list的上下文对象。
返回用于显示对象列表的上下文数据。
上下文
一个mixin类,对基于对象实例列表操作的视图执行基于模板的响应呈现。需要与其混合的视图提供self.object_list,视图操作的对象实例的列表。self.object_list可以是但不是必须是QuerySet。
延伸
方法和属性
附加到自动生成的候选模板名称的后缀。默认后缀为_list。
返回候选模板名称的列表。返回以下列表:
2015年5月13日