Миксины, основанные на дате

Примечание

Все атрибуты форматирования даты в этих миксинах используют символы формата 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().

Вернуться на верх