Класс MonthMixin (Django 2.1)
from django.views.generic.dates import MonthMixin
Mixin for views manipulating month-based data.
Диаграмма | Документация | Исходный код
Атрибуты
Определено в | |
---|---|
month = None
|
MonthMixin |
month_format = '%b'
|
MonthMixin |
Методы
Возвращает дату начала текущего интервала.
def _get_current_month(self, date):
"""Return the start date of the previous interval."""
return date.replace(day=1)
Return the month for which this view should display data.
def get_month(self):
"""Return the month for which this view should display data."""
month = self.month
if month is None:
try:
month = self.kwargs['month']
except KeyError:
try:
month = self.request.GET['month']
except KeyError:
raise Http404(_("No month specified"))
return month
Get a month format string in strptime syntax to be used to parse the month from url variables.
def get_month_format(self):
"""
Get a month format string in strptime syntax to be used to parse the
month from url variables.
"""
return self.month_format
Возвращает дату начала следующего интервала. Интервал определяется датой начала <= дата элемента < следующая дата начала.
def _get_next_month(self, date):
"""
Return the start date of the next interval.
The interval is defined by start date <= item date < next start date.
"""
if date.month == 12:
try:
return date.replace(year=date.year + 1, month=1, day=1)
except ValueError:
raise Http404(_("Date out of range"))
else:
return date.replace(month=date.month + 1, day=1)
Get the next valid month.
def get_next_month(self, date):
"""Get the next valid month."""
return _get_next_prev(self, date, is_previous=False, period='month')
Get the previous valid month.
def get_previous_month(self, date):
"""Get the previous valid month."""
return _get_next_prev(self, date, is_previous=True, period='month')