from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext from django.views.generic.dates import YearArchiveView, MonthArchiveView from django.views.generic.detail import DetailView from utils.views import PaginatedListView from notes.models import LuxNote, Note class NoteList(PaginatedListView): """ Return a list of Notes in reverse chronological order """ queryset = LuxNote.objects.all().order_by('-pub_date') template_name = "archives/notes.html" class NoteDetailView(DetailView): model = LuxNote template_name = "details/note.html" slug_field = "slug" class NoteDetailViewTXT(NoteDetailView): template_name = "details/entry.txt" class NoteDetailViewAMP(NoteDetailView): template_name = "details/entry.amp" class NoteYearArchiveView(YearArchiveView): queryset = LuxNote.objects.all() date_field = "pub_date" make_object_list = True allow_future = True template_name = "archives/notes_date.html" class NoteMonthArchiveView(MonthArchiveView): queryset = LuxNote.objects.all() date_field = "pub_date" allow_future = True template_name = "archives/notes_date.html" """ Legacy Notes views """ def entry_detail(request, year, month, slug): context = { 'object': get_object_or_404(Note, slug__exact=slug), } return render_to_response( 'details/note.html', context, context_instance=RequestContext(request) ) def date_list(request, year, month=None): if month: qs = Note.objects.filter(date_created__year=year, date_created__month=month).order_by('-date_created') else: qs = Note.objects.filter(date_created__year=year).order_by('-date_created') context = { 'year': year, 'month': month, 'object_list': qs, } return render_to_response( "archives/notes_date.html", context, context_instance=RequestContext(request) ) def entry_list(request): context = { 'object_list': Note.objects.all().order_by('-date_created').select_related(), } return render_to_response("archives/notes.html", context, context_instance=RequestContext(request))