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

Примечание

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

YearMixin

класс 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( дата )

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

get_previous_year( дата )

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

MonthMixin

класс 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( дата )

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

get_previous_month( дата )

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

DayMixin

класс 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( дата )

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

get_previous_day( дата )

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

WeekMixin

класс WeekMixin

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

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

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( дата )

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

get_prev_week( дата )

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

DateMixin

класс DateMixin

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

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

date_field

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

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

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

В этой ситуации, если вы реализовали выбор часового пояса для каждого пользователя, один и тот же URL-адрес может отображать другой набор объектов в зависимости от часового пояса конечного пользователя. Чтобы этого избежать, вы должны использовать в DateFieldкачестве date_fieldатрибута.

allow_future

Логическое значение, указывающее, следует ли включать «будущие» объекты на эту страницу, где «будущее» означает объекты, в которых указанное поле date_fieldбольше текущей даты / времени. По умолчанию это False.

get_date_field()

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

get_allow_future()

Определите, следует ли включать «будущие» объекты на эту страницу, где «будущее» означает объекты, в которых указанное поле date_field больше текущей даты / времени. Возврат allow_futureпо умолчанию.

BaseDateListView

класс 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. Применяет любые ограничения для набора запросов, такие как 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')qsdate_typeget_date_list_period()date_typeorderingQuerySet.dates()

Copyright ©2021 All rights reserved