Миксины, основанные на дате¶
Примечание
Все атрибуты форматирования даты в этих миксинах используют символы формата strftime()
. Не пытайтесь использовать символы формата из тега шаблона now
, так как они несовместимы.
YearMixin
¶
-
class
YearMixin
[исходный код]¶ Миксин, который можно использовать для получения и предоставления информации о разборе для компонента года в дате.
Методы и атрибуты
-
year_format
¶ Формат
strftime()
, который будет использоваться при разборе года. По умолчанию это'%Y'
.
-
year
¶ Опционально Значение года в виде строки. По умолчанию установлено в
None
, что означает, что год будет определяться другими средствами.
-
get_year_format
()[исходный код]¶ Возвращает формат
strftime()
, который следует использовать при разборе года. По умолчанию возвращаетyear_format
.
-
get_year
()[исходный код]¶ Возвращает год, для которого это представление будет отображать данные, в виде строки. Пробует следующие источники по порядку:
- Значение атрибута
YearMixin.year
. - Значение аргумента
year
, захваченного в шаблоне URL. - Значение аргумента запроса
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
[исходный код]¶ Миксин, который можно использовать для получения и предоставления информации о разборе для компонента месяца в дате.
Методы и атрибуты
-
month_format
¶ Формат
strftime()
, который будет использоваться при разборе месяца. По умолчанию это'%b'
.
-
month
¶ Опционально Значение для месяца в виде строки. По умолчанию установлено в
None
, что означает, что месяц будет определен другим способом.
-
get_month_format
()[исходный код]¶ Возвращает формат
strftime()
, который следует использовать при разборе месяца. По умолчанию возвращаетmonth_format
.
-
get_month
()[исходный код]¶ Возвращает месяц, для которого это представление будет отображать данные, в виде строки. Пробует следующие источники по порядку:
- Значение атрибута
MonthMixin.month
. - Значение аргумента
month
, захваченного в шаблоне URL. - Значение аргумента запроса
month
GET
.
Вызывает сообщение 404, если не найдена действительная спецификация месяца.
- Значение атрибута
-
get_next_month
(date)[исходный код]¶ Возвращает объект date, содержащий первый день месяца после указанной даты. Эта функция может также вернуть
None
или вызвать исключениеHttp404
, в зависимости от значенийallow_empty
иallow_future
.
-
get_previous_month
(date)[исходный код]¶ Возвращает объект даты, содержащий первый день месяца перед указанной датой. Эта функция может также вернуть
None
или вызвать исключениеHttp404
, в зависимости от значенийallow_empty
иallow_future
.
-
DayMixin
¶
-
class
DayMixin
[исходный код]¶ Миксин, который можно использовать для получения и предоставления информации о разборе для компонента дня в дате.
Методы и атрибуты
-
day_format
¶ Формат
strftime()
, который будет использоваться при разборе дня. По умолчанию это'%d'
.
-
day
¶ Опционально Значение дня в виде строки. По умолчанию установлено в
None
, что означает, что день будет определяться другими средствами.
-
get_day_format
()[исходный код]¶ Возвращает формат
strftime()
, который следует использовать при разборе дня. По умолчанию возвращаетday_format
.
-
get_day
()[исходный код]¶ Возвращает день, для которого это представление будет отображать данные, в виде строки. Пробует следующие источники по порядку:
- Значение атрибута
DayMixin.day
. - Значение аргумента
day
, захваченного в шаблоне URL. - Значение аргумента запроса
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
[исходный код]¶ Миксин, который можно использовать для получения и предоставления информации о разборе недельного компонента даты.
Методы и атрибуты
-
week_format
¶ Формат
strftime()
, который будет использоваться при разборе недели. По умолчанию это'%U'
, что означает, что неделя начинается в воскресенье. Установите значение'%W'
или'%V'
(неделя по стандарту ISO 8601), если ваша неделя начинается в понедельник.New in Django 3.2:Добавлена поддержка формата недели
'%V'
.
-
week
¶ Опционально Значение для недели в виде строки. По умолчанию установлено в
None
, что означает, что неделя будет определена другим способом.
-
get_week_format
()[исходный код]¶ Возвращает формат
strftime()
, который следует использовать при разборе недели. По умолчанию возвращаетweek_format
.
-
get_week
()[исходный код]¶ Возвращает неделю, для которой это представление будет отображать данные, в виде строки. Пробует следующие источники по порядку:
- Значение атрибута
WeekMixin.week
. - Значение аргумента
week
, захваченного в шаблоне URL - Значение аргумента запроса
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
[исходный код]¶ Класс-миксин, обеспечивающий общее поведение для всех представлений, основанных на дате.
Методы и атрибуты
-
date_field
¶ Имя
DateField
илиDateTimeField
в моделиQuerySet
, которое архив на основе даты должен использовать для определения списка объектов для отображения на странице.Когда time zone support включен, а
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
()[исходный код]¶ Возвращает 3-кортеж, содержащий (
date_list
,object_list
,extra_context
).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')[исходный код]¶ Возвращает список дат типа
date_type
, для которыхqueryset
содержит записи. Например,get_date_list(qs, 'year')
вернет список годов, для которыхqs
содержит записи. Еслиdate_type
не предоставлен, используется результатget_date_list_period()
. Данныеdate_type
иordering
передаются вQuerySet.dates()
.
-