C'est vraiment intéressant. Evidemment, MonthMixin
comprend les méthodes get_next_month
/get_prev_month
, et DayMixin
inclut les méthodes get_next_day
/get_prev_day
. Toutefois, YearMixin et WeekMixin n'ont aucun équivalent fonctionnel dans leurs définitions. Cela semble être un peu un oubli de la part de l'équipe Django.
Je pense que votre meilleur pari est de sous-classe soit WeekArchiveView ou BaseWeekArchiveView (si vous pouvez éventuellement modifier le format de réponse et ne veulent pas avoir à ré-implémenter vos méthodes) et ajouter vos propres get_next_week
/get_prev_week
méthodes . Ensuite, votre vue héritera de votre sous-classe à la place. Une simple modification des méthodes DayMixin
devrait suffire.
def get_next_week(self, date):
"""
Get the next valid week.
"""
next = date + datetime.timedelta(days=7)
return _get_next_prev_month(self, next, is_previous=False, use_first_day=False)
def get_previous_week(self, date):
"""
Get the previous valid week.
"""
prev = date - datetime.timedelta(days=7)
return _get_next_prev_month(self, prev, is_previous=True, use_first_day=False)
Cela m'a vraiment aidé! Merci. –
Pouvez-vous s'il vous plaît m'aider [comprendre le reste] (http://stackoverflow.com/questions/7665013/how-do-i-paginate-weekarchiveview/7667867#7667867)? Nous sommes presque là, je cherche juste une façon propre de rendre 'previous_week' être' None' quand il n'y a pas d'éléments avant la semaine donnée. –
Oups! C'était ma faute. J'ai mis 'allow_empty' à' True', c'est pourquoi j'ai récupéré ces pages vides. Merci encore énorme! –