MultipleObjectMixin
¶可用于显示对象列表的混音器。
如果 paginate_by
如果指定,Django将对由此返回的结果分页。可以通过以下两种方式之一在URL中指定页码:
使用 page
urlconf中的参数。例如,这就是您的URLCONF的样子:
path("objects/page<int:page>/", PaginatedView.as_view()),
方法传递页码。 page
查询字符串参数。例如,URL如下所示:
/objects/?page=3
这些值和列表是基于1的,而不是基于0的,因此第一页将表示为页 1
.
有关分页的更多信息,请阅读 pagination documentation .
作为特例,您还可以使用 last
作为的值 page
:
/objects/?page=last
这允许您访问结果的最后一页,而不必首先确定有多少页。
注意 page
must 是有效的页码或值 last
;任何其他价值 page
将导致404错误。
Extends
方法和属性
一个布尔值,指定在没有对象可用时是否显示页面。如果这是 False
并且没有可用的对象,视图将引发404而不是显示空页面。默认情况下,这是 True
.
此视图将为其显示数据的模型。指定 model = Foo
实际上与指定 queryset = Foo.objects.all()
在哪里 objects
代表 Foo
的 default manager .
A QuerySet
表示对象的。如果提供,则 queryset
取代为提供的值 model
.
警告
queryset
是具有 易变的 因此,直接使用时必须小心。在使用它之前,请先调用它 all()
方法或检索 get_queryset()
它负责幕后的复制。
一个字符串或字符串列表,指定应用于 queryset
. 有效值与 order_by()
.
一个整数,指定每页应显示多少对象。如果提供了此选项,视图将使用 paginate_by
每页对象数。视图将期望 page
查询字符串参数(通过 request.GET
或A page
在urlconf中指定的变量。
指定最后一页可以包含的“溢出”对象数的整数。这扩展了 paginate_by
最后一页最多限制为 paginate_orphans
,以防止最后一页的对象数量非常少。
指定要用于页参数的名称的字符串。视图将期望此参数作为查询字符串参数(通过 request.GET
)或者作为URLCONF中指定的Kwarg变量。默认为 page
.
要用于分页的分页器类。默认情况下, django.core.paginator.Paginator
使用。如果自定义paginator类与 django.core.paginator.Paginator
,您还需要为 get_paginator()
.
指定要在上下文中使用的变量的名称。
获取此视图的项目列表。这必须是一个iterable,并且可以是一个queryset(其中将启用queryset特定的行为)。
返回包含 (paginator
, page
, object_list
, is_paginated
)
通过分页构建 queryset
成大小的页面 page_size
. 如果请求包含 page
参数,作为捕获的URL参数或作为get参数, object_list
将对应于该页中的对象。
返回要根据的项目数,或 None
没有翻页。默认情况下,这返回的值 paginate_by
。
返回要用于此视图的分页器的实例。默认情况下,实例化 paginator_class
.
指定最后一页可以包含的“溢出”对象数量的一个整数。默认情况下,这返回的值 paginate_orphans
。
返回一个布尔值,指定在没有对象可用时是否显示该页。如果此方法返回 False
并且没有可用的对象,视图将引发404而不是显示空页面。默认情况下,这是 True
.
返回将用于包含此视图正在操作的数据列表的上下文变量名。如果 object_list
是一组django对象和 context_object_name
未设置,上下文名称将是 model_name
查询集所组成的模型的,具有后缀 '_list'
附加的。例如,模型 Article
将有一个名为 article_list
.
返回用于显示对象列表的上下文数据。
Context
object_list
:此视图显示的对象列表。如果 context_object_name
如果指定,该变量也将在上下文中设置,其值与 object_list
.
is_paginated
:表示结果是否分页的布尔值。具体来说,设置为 False
如果未指定页面大小,或者可用对象不跨越多个页面。
paginator
:的实例 django.core.paginator.Paginator
. 如果页面未分页,则此上下文变量将 None
.
page_obj
:的实例 django.core.paginator.Page
. 如果页面未分页,则此上下文变量将 None
.
MultipleObjectTemplateResponseMixin
¶一个mixin类,对操作对象实例列表的视图执行基于模板的响应呈现。要求与之混合的视图提供 self.object_list
,视图正在操作的对象实例列表。 self.object_list
可能是,但不要求是 QuerySet
.
Extends
方法和属性
要附加到自动生成的候选模板名称的后缀。默认后缀为 _list
.
返回候选模板名称列表。返回以下列表:
价值 template_name
在视图上(如果提供)
<app_label>/<model_name><template_name_suffix>.html
7月 22, 2024