基于日期的混合¶
注解
这些mixin中的所有日期格式属性都使用 strftime()
格式字符。不要尝试使用 now
模板标记中的格式字符,因为它们不兼容。
YearMixin
¶
-
class
YearMixin
[源代码]¶ 一个mixin,可用于检索和提供日期的年份组件的解析信息。
方法和属性
-
year_format
¶ 解析年时使用的
strftime()
格式。默认情况下,这是'%Y'
。
-
year
¶ 可选的 年的值,作为字符串。默认情况下,设置为
None
,这意味着将使用其他方法确定年份。
-
get_year_format
()[源代码]¶ 返回解析年份时要使用的
strftime()
格式。默认返回year_format
。
-
get_year
()[源代码]¶ 返回此视图将以字符串形式显示数据的年份。尝试以下来源,按顺序:
YearMixin.year
属性的值。在URL模式中捕获的
year
参数的值。year
GET
查询参数的值。
如果未找到有效的年份规格,则提高404。
-
get_next_year
(date)[源代码]¶ 返回包含所提供日期之后的年份中第一个日期的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
get_previous_year
(date)[源代码]¶ 返回包含所提供日期前一年中第一天的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
MonthMixin
¶
-
class
MonthMixin
[源代码]¶ 可用于检索和提供日期的月份组件的解析信息的mixin。
方法和属性
-
month_format
¶ 解析月份时使用的
strftime()
格式。默认情况下,这是'%b'
。
-
month
¶ 可选的 月的值,作为字符串。默认情况下,设置为
None
,这意味着使用其他方式确定月份。
-
get_month_format
()[源代码]¶ 返回解析月份时要使用的
strftime()
格式。默认返回month_format
。
-
get_month
()[源代码]¶ 返回此视图将以字符串形式显示数据的月份。尝试以下来源,按顺序:
MonthMixin.month
属性的值。在URL模式中捕获的
month
参数的值。month
GET
查询参数的值。
如果找不到有效的月份规格,则提高404。
-
get_next_month
(date)[源代码]¶ 返回包含提供日期后的月份中第一天的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
get_previous_month
(date)[源代码]¶ 返回包含所提供日期前一个月的第一天的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
DayMixin
¶
-
class
DayMixin
[源代码]¶ 可用于检索和提供日期的日期组件的解析信息的mixin。
方法和属性
-
day_format
¶ 解析日期时使用的
strftime()
格式。默认情况下,这是'%d'
。
-
day
¶ 可选的 日的值,作为字符串。默认情况下,设置为
None
,这意味着将使用其他方式确定日期。
-
get_day_format
()[源代码]¶ 返回解析日期时要使用的
strftime()
格式。默认返回day_format
。
-
get_day
()[源代码]¶ 返回此视图将以字符串形式显示数据的日期。尝试以下来源,按顺序:
DayMixin.day
属性的值。在URL模式中捕获的
day
参数的值。day
GET
查询参数的值。
如果没有找到有效的天数规格,则提高404。
-
get_next_day
(date)[源代码]¶ 返回包含提供日期后的下一个有效日的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
get_previous_day
(date)[源代码]¶ 返回包含上一个有效日期的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
WeekMixin
¶
-
class
WeekMixin
[源代码]¶ 可用于检索和提供日期的周组件的解析信息的mixin。
方法和属性
-
week_format
¶ 在解析星期时使用的
strftime()
格式。默认情况下,这是'%U'
,这意味着星期从星期日开始。如果您的星期从星期一开始,请将其设置为'%W'
。
-
week
¶ 可选的 星期的值,作为字符串。默认情况下,设置为
None
,这意味着将使用其他方法确定星期。
-
get_week_format
()[源代码]¶ 返回在解析星期时要使用的
strftime()
格式。默认返回week_format
。
-
get_week
()[源代码]¶ 返回此视图将以字符串形式显示数据的星期。尝试以下来源,按顺序:
WeekMixin.week
属性的值。在URL模式中捕获的
week
参数的值week
GET
查询参数的值。
如果没有找到有效的星期规格,则提高404。
-
get_next_week
(date)[源代码]¶ 返回包含所提供日期后一周中第一天的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
get_prev_week
(date)¶ 返回包含所提供日期前一周的第一天的日期对象。此函数还可以返回
None
或引发Http404
异常,具体取决于allow_empty
和allow_future
的值。
-
DateMixin
¶
-
class
DateMixin
[源代码]¶ 一个mixin类,为所有基于日期的视图提供公共行为。
方法和属性
-
date_field
¶ QuerySet
模型中的DateField
或DateTimeField
的名称,基于日期的归档应使用该名称来确定要在页面上显示的对象的列表。当启用 时区支持 并且
date_field
是DateTimeField
时,假定日期位于当前时区。否则,查询集可以包括来自最终用户的时区中的前一天或次日的对象。警告
在这种情况下,如果您已实施每用户时区选择,则相同的URL可能会显示不同的对象集,具体取决于最终用户的时区。为了避免这种情况,应该使用
DateField
作为date_field
属性。
-
allow_future
¶ 指定是否在此页面上包含“未来”对象的布尔值,其中“未来”表示
date_field
中指定的字段大于当前日期/时间的对象。默认情况下,这是False
。
-
get_date_field
()[源代码]¶ 返回包含此视图将操作的日期数据的字段的名称。默认情况下返回
date_field
。
-
get_allow_future
()[源代码]¶ 确定是否在此页面上包含“未来”对象,其中“未来”表示
date_field
中指定的字段大于当前日期/时间的对象。默认返回allow_future
。
-
BaseDateListView
¶
-
class
BaseDateListView
[源代码]¶ 为所有基于日期的视图提供常见行为的基类。通常不会有一个原因来实例化
BaseDateListView
;实例化其中一个子类。当该视图(及其子类)正在执行时,
self.object_list
将包含视图正在操作的对象列表,self.date_list
将包含数据可用的日期列表。混合
方法和属性
-
allow_empty
¶ 一个布尔值,指定如果没有对象可用,是否显示页面。如果这是
True
,没有可用的对象,视图将显示一个空页面,而不是提高404。这与
django.views.generic.list.MultipleObjectMixin.allow_empty
相同,除了默认值,即False
。
-
date_list_period
¶ 可选的 定义
date_list
的聚合周期的字符串。它必须是'year'
(默认值),'month'
或'day'
之一。
-
get_dated_items
()[源代码]¶ 返回包含(
date_list
,object_list
,extra_context
)的3元组。date_list
是数据可用的日期列表。object_list
是对象的列表。extra_context
是将被添加到由MultipleObjectMixin
提供的任何上下文数据的上下文数据的字典。
-
get_dated_queryset
(**lookup)[源代码]¶ 返回一个查询集,使用由
lookup
定义的查询参数进行过滤。强制执行对查询集的任何限制,例如allow_empty
和allow_future
。
-
get_date_list_period
()[源代码]¶ 返回
date_list
的聚合周期。默认返回date_list_period
。
-
get_date_list
(queryset, date_type=None, ordering='ASC')[源代码]¶ 返回
queryset
类型包含条目的date_type
类型的日期列表。例如,get_date_list(qs, 'year')
将返回qs
具有条目的年份列表。如果不提供date_type
,则使用get_date_list_period()
的结果。date_type
和ordering
简单地传递到QuerySet.dates()
。
-