from django.views.generic.dates import (ArchiveIndexView, DateDetailView, DayArchiveView, MonthArchiveView, YearArchiveView) from django.views.generic.detail import DetailView from django.views.generic.list import ListView from .models import Gallery, Photo # Gallery views. class GalleryListView(ListView): queryset = Gallery.objects.on_site().is_public() paginate_by = 20 class GalleryDetailView(DetailView): queryset = Gallery.objects.on_site().is_public() class GalleryDateView: queryset = Gallery.objects.on_site().is_public() date_field = 'date_added' allow_empty = True class GalleryDateDetailView(GalleryDateView, DateDetailView): pass class GalleryArchiveIndexView(GalleryDateView, ArchiveIndexView): pass class GalleryDayArchiveView(GalleryDateView, DayArchiveView): pass class GalleryMonthArchiveView(GalleryDateView, MonthArchiveView): pass class GalleryYearArchiveView(GalleryDateView, YearArchiveView): make_object_list = True # Photo views. class PhotoListView(ListView): queryset = Photo.objects.on_site().is_public() paginate_by = 20 class PhotoDetailView(DetailView): queryset = Photo.objects.on_site().is_public() class PhotoDateView: queryset = Photo.objects.on_site().is_public() date_field = 'date_added' allow_empty = True class PhotoDateDetailView(PhotoDateView, DateDetailView): pass class PhotoArchiveIndexView(PhotoDateView, ArchiveIndexView): pass class PhotoDayArchiveView(PhotoDateView, DayArchiveView): pass class PhotoMonthArchiveView(PhotoDateView, MonthArchiveView): pass class PhotoYearArchiveView(PhotoDateView, YearArchiveView): make_object_list = True