Класс YearMixin (Django 2.1)

from django.views.generic.dates import YearMixin

Mixin for views manipulating year-based data.

Атрибуты

  Определено в
year = None YearMixin
year_format = '%Y' YearMixin

Методы

Возвращает дату начала текущего интервала.

def _get_current_year(self, date):
    """Return the start date of the current interval."""
    return date.replace(month=1, day=1)

Возвращает дату начала следующего интервала. Интервал определяется датой начала <= дата элемента < следующая дата начала.

def _get_next_year(self, date):
    """
    Return the start date of the next interval.
    The interval is defined by start date <= item date < next start date.
    """
    try:
        return date.replace(year=date.year + 1, month=1, day=1)
    except ValueError:
        raise Http404(_("Date out of range"))

Get the next valid year.

def get_next_year(self, date):
    """Get the next valid year."""
    return _get_next_prev(self, date, is_previous=False, period='year')

Get the previous valid year.

def get_previous_year(self, date):
    """Get the previous valid year."""
    return _get_next_prev(self, date, is_previous=True, period='year')

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

def get_year(self):
    """Return the year for which this view should display data."""
    year = self.year
    if year is None:
        try:
            year = self.kwargs['year']
        except KeyError:
            try:
                year = self.request.GET['year']
            except KeyError:
                raise Http404(_("No year specified"))
    return year

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

def get_year_format(self):
    """
    Get a year format string in strptime syntax to be used to parse the
    year from url variables.
    """
    return self.year_format