80 lines
1.7 KiB
Python
80 lines
1.7 KiB
Python
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
|