class WeekMixin
from django.views.generic.dates import WeekMixin
Mixin for views manipulating week-based data.
Descendants
Attributes
Defined in | |
---|---|
week = None
|
WeekMixin |
week_format = '%U'
|
WeekMixin |
Methods
def
_get_current_week(self, date):
WeekMixin
¶
def
_get_current_week(self, date):
WeekMixin
¶
Return the start date of the current interval.
216 217 218 | def _get_current_week(self, date): """Return the start date of the current interval.""" return date - datetime.timedelta(self._get_weekday(date)) |
def
_get_next_week(self, date):
WeekMixin
¶
def
_get_next_week(self, date):
WeekMixin
¶
Return the start date of the next interval. The interval is defined by start date <= item date < next start date.
205 206 207 208 209 210 211 212 213 | def _get_next_week(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 + datetime.timedelta(days=7 - self._get_weekday(date)) except OverflowError: raise Http404(_("Date out of range")) |
def
_get_weekday(self, date):
WeekMixin
¶
def
_get_weekday(self, date):
WeekMixin
¶
Return the weekday for a given date. The first day according to the week format is 0 and the last day is 6.
220 221 222 223 224 225 226 227 228 229 230 231 | def _get_weekday(self, date): """ Return the weekday for a given date. The first day according to the week format is 0 and the last day is 6. """ week_format = self.get_week_format() if week_format in {"%W", "%V"}: # week starts on Monday return date.weekday() elif week_format == "%U": # week starts on Sunday return (date.weekday() + 1) % 7 else: raise ValueError("unknown week format: %s" % week_format) |
def
get_next_week(self, date):
WeekMixin
¶
def
get_next_week(self, date):
WeekMixin
¶
Get the next valid week.
197 198 199 | def get_next_week(self, date): """Get the next valid week.""" return _get_next_prev(self, date, is_previous=False, period="week") |
def
get_previous_week(self, date):
WeekMixin
¶
def
get_previous_week(self, date):
WeekMixin
¶
Get the previous valid week.
201 202 203 | def get_previous_week(self, date): """Get the previous valid week.""" return _get_next_prev(self, date, is_previous=True, period="week") |
def
get_week(self):
WeekMixin
¶
def
get_week(self):
WeekMixin
¶
Return the week for which this view should display data.
184 185 186 187 188 189 190 191 192 193 194 195 | def get_week(self): """Return the week for which this view should display data.""" week = self.week if week is None: try: week = self.kwargs["week"] except KeyError: try: week = self.request.GET["week"] except KeyError: raise Http404(_("No week specified")) return week |
def
get_week_format(self):
WeekMixin
¶
def
get_week_format(self):
WeekMixin
¶
Get a week format string in strptime syntax to be used to parse the week from url variables.
177 178 179 180 181 182 | def get_week_format(self): """ Get a week format string in strptime syntax to be used to parse the week from url variables. """ return self.week_format |