diff options
Diffstat (limited to 'app/books/views.py')
-rw-r--r-- | app/books/views.py | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/app/books/views.py b/app/books/views.py index 21f271f..ef1d5f4 100644 --- a/app/books/views.py +++ b/app/books/views.py @@ -1,37 +1,17 @@ -from django.shortcuts import render_to_response, get_object_or_404 -from django.template import RequestContext -from django.http import Http404 -from django.conf import settings -# from django.views.generic import ListView +from django.views.generic.detail import DetailView +from utils.views import PaginatedListView -from books.models import Book -from locations.models import Region, Country -from photos.models import Photo +from .models import Book +class BookListView(PaginatedListView): + template_name = 'archives/books.html' -def book_detail(request, slug): - context = { - 'object': get_object_or_404(Book, slug__exact=slug), - 'ratings_range' : range(1, 6) - } - return render_to_response('details/book.html', context, context_instance=RequestContext(request)) + def get_queryset(self): + return Book.objects.all().order_by('-read_date').select_related() -def book_list(request, page): - request.page_url = '/books/%d/' - request.page = int(page) - try: - is_build = request.POST['builder'] - extra_context={ - 'page':page, - 'MEDIA_URL': settings.BAKED_MEDIA_URL, - 'ratings_range': range(1, 6) - } - except: - extra_context={'page':page} - context = { - 'object_list': Book.objects.order_by('-read_date').select_related(), - 'page': page, - 'ratings_range' : range(1, 6) - } - return render_to_response("archives/books.html", context, context_instance=RequestContext(request)) + +class BookDetailView(DetailView): + model = Book + template_name = "details/book.html" + slug_field = "slug" |