Spec-Zone.ru › Django 4.0

Основанные на дате миксины

Примечание

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

Возвращает объект даты, содержащий первый день месяца после указанной даты. Эта функция также может вернуть 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

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

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

week_format

Формат strftime(), используемый при разборе недели. По умолчанию это '%U', что означает, что неделя начинается с воскресенья. Установите его в '%W' или '%V' (неделя ISO 8601), если ваша неделя начинается с понедельника.

Добавлено в 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

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

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

date_field

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

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

Предупреждение

В этой ситуации, если вы реализовали выбор часового пояса для каждого пользователя, один и тот же 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 будет содержать список дат, для которых доступны данные.

Mixins

  • DateMixin
  • MultipleObjectMixin

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

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().

© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/4.0/ref/class-based-views/mixins-date-based/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API