• 3.2
  • 5.0
  • 6.1
  • Версия документации: 3.1

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

Примечание

Все атрибуты форматирования даты в этих миксинах используют символы формата strftime(). Не пытайтесь использовать символы формата из тега шаблона now, поскольку они несовместимы.

ГодМиксин

class YearMixin

Миксин, который можно использовать для получения и предоставления информации для анализа компонента года даты.

Методы и Атрибуты

year_format

Формат strftime(), используемый при анализе года. По умолчанию это '%Y'.

year

Необязательно Значение года в виде строки. По умолчанию установлено значение «Нет», что означает, что год будет определяться другими способами.

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.

МесяцМиксин

class MonthMixin

Миксин, который можно использовать для получения и предоставления информации для анализа компонента месяца даты.

Методы и Атрибуты

month_format

Формат strftime(), используемый при анализе месяца. По умолчанию это '%b'.

month

Необязательно Значение месяца в виде строки. По умолчанию установлено значение «Нет», что означает, что месяц будет определяться другими способами.

get_month_format()

Возвращает формат strftime(), который будет использоваться при анализе месяца. По умолчанию возвращает month_format.

get_month()

Возвращает месяц, за который это представление будет отображать данные, в виде строки. Пробует следующие источники по порядку:

  • Значение атрибута MonthMixin.month.

  • Значение аргумента «месяц», зафиксированное в шаблоне URL.

  • Значение аргумента запроса month GET.

Вызывает ошибку 404, если не найдено допустимое указание месяца.

get_next_month(date)

Возвращает объект даты, содержащий первый день месяца после указанной даты. Эта функция также может возвращать None или вызывать исключение Http404, в зависимости от значений allow_empty и allow_future.

get_previous_month(date)

Возвращает объект даты, содержащий первый день месяца, предшествующего указанной дате. Эта функция также может возвращать None или вызывать исключение Http404, в зависимости от значений allow_empty и allow_future.

ДэйМиксин

class DayMixin

Миксин, который можно использовать для получения и предоставления информации для анализа компонента дня даты.

Методы и Атрибуты

day_format

Формат strftime(), используемый при анализе дня. По умолчанию это '%d'.

day

Необязательно Значение дня в виде строки. По умолчанию установлено значение «Нет», что означает, что день будет определяться другими способами.

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.

НеделяМиксин

class WeekMixin

Миксин, который можно использовать для получения и предоставления информации для анализа недельного компонента даты.

Методы и Атрибуты

week_format

The strftime() format to use when parsing the week. By default, this is '%U', which means the week starts on Sunday. Set it to '%W' if your week starts on Monday.

week

Необязательно Значение недели в виде строки. По умолчанию установлено значение «Нет», что означает, что неделя будет определяться другими способами.

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.

ДатаМиксин

class DateMixin

Класс-примесь, обеспечивающий общее поведение для всех представлений на основе даты.

Методы и Атрибуты

date_field

Имя DateField или DateTimeField в модели QuerySet, которое архив на основе даты должен использовать для определения списка объектов, отображаемых на странице.

Если поддержка часовых поясов включена и 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. Это должно быть одно из значений «год» (по умолчанию), «месяц» или «день».

get_dated_items()

Возвращает кортеж из трех элементов, содержащий (date_list, object_list, extra_context).

date_list — это список дат, по которым доступны данные. object_list — это список объектов. extra_context — это словарь контекстных данных, который будет добавлен к любым контекстным данным, предоставляемым MultipleObjectMixin.

get_dated_queryset(**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, для которых набор запросов содержит записи. Например, get_date_list(qs, „year“) вернет список лет, для которых в qs есть записи. Если date_type не указан, используется результат get_date_list_ period(). date_type и ordering передаются в QuerySet.dates().

Back to Top