On this page
Date-based mixins
Note
All the date formatting attributes in these mixins use strftime() format characters. Do not try to use the format characters from the now template tag as they are not compatible.
YearMixin
class YearMixin-
A mixin that can be used to retrieve and provide parsing information for a year component of a date.
Methods and Attributes
year_format-
The
strftime()format to use when parsing the year. By default, this is'%Y'.
year-
Optional The value for the year, as a string. By default, set to
None, which means the year will be determined using other means.
get_year_format()-
Returns the
strftime()format to use when parsing the year. Returnsyear_formatby default.
get_year()-
Returns the year for which this view will display data, as a string. Tries the following sources, in order:
- The value of the
YearMixin.yearattribute. - The value of the
yearargument captured in the URL pattern. - The value of the
yearGETquery argument.
Raises a 404 if no valid year specification can be found.
- The value of the
get_next_year(date)-
Returns a date object containing the first day of the year after the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
get_previous_year(date)-
Returns a date object containing the first day of the year before the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
MonthMixin
class MonthMixin-
A mixin that can be used to retrieve and provide parsing information for a month component of a date.
Methods and Attributes
month_format-
The
strftime()format to use when parsing the month. By default, this is'%b'.
month-
Optional The value for the month, as a string. By default, set to
None, which means the month will be determined using other means.
get_month_format()-
Returns the
strftime()format to use when parsing the month. Returnsmonth_formatby default.
get_month()-
Returns the month for which this view will display data, as a string. Tries the following sources, in order:
- The value of the
MonthMixin.monthattribute. - The value of the
monthargument captured in the URL pattern. - The value of the
monthGETquery argument.
Raises a 404 if no valid month specification can be found.
- The value of the
get_next_month(date)-
Returns a date object containing the first day of the month after the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
get_previous_month(date)-
Returns a date object containing the first day of the month before the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
DayMixin
class DayMixin-
A mixin that can be used to retrieve and provide parsing information for a day component of a date.
Methods and Attributes
day_format-
The
strftime()format to use when parsing the day. By default, this is'%d'.
day-
Optional The value for the day, as a string. By default, set to
None, which means the day will be determined using other means.
get_day_format()-
Returns the
strftime()format to use when parsing the day. Returnsday_formatby default.
get_day()-
Returns the day for which this view will display data, as a string. Tries the following sources, in order:
- The value of the
DayMixin.dayattribute. - The value of the
dayargument captured in the URL pattern. - The value of the
dayGETquery argument.
Raises a 404 if no valid day specification can be found.
- The value of the
get_next_day(date)-
Returns a date object containing the next valid day after the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
get_previous_day(date)-
Returns a date object containing the previous valid day. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
WeekMixin
class WeekMixin-
A mixin that can be used to retrieve and provide parsing information for a week component of a date.
Methods and Attributes
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'or'%V'(ISO 8601 week) if your week starts on Monday.
week-
Optional The value for the week, as a string. By default, set to
None, which means the week will be determined using other means.
get_week_format()-
Returns the
strftime()format to use when parsing the week. Returnsweek_formatby default.
get_week()-
Returns the week for which this view will display data, as a string. Tries the following sources, in order:
- The value of the
WeekMixin.weekattribute. - The value of the
weekargument captured in the URL pattern - The value of the
weekGETquery argument.
Raises a 404 if no valid week specification can be found.
- The value of the
get_next_week(date)-
Returns a date object containing the first day of the week after the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
get_prev_week(date)-
Returns a date object containing the first day of the week before the date provided. This function can also return
Noneor raise anHttp404exception, depending on the values ofallow_emptyandallow_future.
DateMixin
class DateMixin-
A mixin class providing common behavior for all date-based views.
Methods and Attributes
date_field-
The name of the
DateFieldorDateTimeFieldin theQuerySet’s model that the date-based archive should use to determine the list of objects to display on the page.When time zone support is enabled and
date_fieldis aDateTimeField, dates are assumed to be in the current time zone. Otherwise, the queryset could include objects from the previous or the next day in the end user’s time zone.Warning
In this situation, if you have implemented per-user time zone selection, the same URL may show a different set of objects, depending on the end user’s time zone. To avoid this, you should use a
DateFieldas thedate_fieldattribute.
allow_future-
A boolean specifying whether to include “future” objects on this page, where “future” means objects in which the field specified in
date_fieldis greater than the current date/time. By default, this isFalse.
get_date_field()-
Returns the name of the field that contains the date data that this view will operate on. Returns
date_fieldby default.
get_allow_future()-
Determine whether to include “future” objects on this page, where “future” means objects in which the field specified in
date_fieldis greater than the current date/time. Returnsallow_futureby default.
BaseDateListView
class BaseDateListView-
A base class that provides common behavior for all date-based views. There won’t normally be a reason to instantiate
BaseDateListView; instantiate one of the subclasses instead.While this view (and its subclasses) are executing,
self.object_listwill contain the list of objects that the view is operating upon, andself.date_listwill contain the list of dates for which data is available.Mixins
Methods and Attributes
allow_empty-
A boolean specifying whether to display the page if no objects are available. If this is
Trueand no objects are available, the view will display an empty page instead of raising a 404.This is identical to
django.views.generic.list.MultipleObjectMixin.allow_empty, except for the default value, which isFalse.
date_list_period-
Optional A string defining the aggregation period for
date_list. It must be one of'year'(default),'month', or'day'.
get_dated_items()-
Returns a 3-tuple containing (
date_list,object_list,extra_context).date_listis the list of dates for which data is available.object_listis the list of objects.extra_contextis a dictionary of context data that will be added to any context data provided by theMultipleObjectMixin.
get_dated_queryset(**lookup)-
Returns a queryset, filtered using the query arguments defined by
lookup. Enforces any restrictions on the queryset, such asallow_emptyandallow_future.
get_date_list_period()-
Returns the aggregation period for
date_list. Returnsdate_list_periodby default.
get_date_list(queryset, date_type=None, ordering='ASC')-
Returns the list of dates of type
date_typefor whichquerysetcontains entries. For example,get_date_list(qs, 'year')will return the list of years for whichqshas entries. Ifdate_typeisn’t provided, the result ofget_date_list_period()is used.date_typeandorderingare passed toQuerySet.dates().
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/5.0/ref/class-based-views/mixins-date-based/