X-Git-Url: https://git.sommitrealweird.co.uk/sommitrealweird.git/blobdiff_plain/c939dde77d9b8e0e4256f0f16e99206f55908288..2d5a803e2b8bd6ed72de946d4cfbb7b880493bf6:/sommitrealweird/blog/views.py diff --git a/sommitrealweird/blog/views.py b/sommitrealweird/blog/views.py index d5da81b..b01bec8 100644 --- a/sommitrealweird/blog/views.py +++ b/sommitrealweird/blog/views.py @@ -1,7 +1,7 @@ from blog.models import BlogEntry, BlogSection from django.http import Http404, HttpResponse from django.template import RequestContext, loader -from django.core.paginator import ObjectPaginator +from django.core.paginator import Paginator from django.conf import settings def blog_index(request, section=None): @@ -11,23 +11,24 @@ def blog_index(request, section=None): entries = entries.order_by('-publish_date') if entries: paginate_by=20 - paginator = ObjectPaginator(entries, paginate_by) - page = int(request.GET.get('page', 0)) - if page > 0: - page = page - 1 - paginated_entries = paginator.get_page(page) - pages = [i for i in range(1, paginator.pages + 1)] + paginator = Paginator(entries, paginate_by) + try: + page = int(request.GET.get('page', 1)) + except ValueError: + page = 1 + paginated_entries = paginator.page(page) + pages = paginator.page_range t = loader.get_template("blog/blog_index.html") c = RequestContext(request, { - "entries": paginated_entries, + "entries": paginated_entries.object_list, "title": settings.BLOG_TITLE, - "page": page + 1, + "page": page, "pages": pages, "paginated": 1, - "has_next": paginator.has_next_page(page), - "has_prev": paginator.has_next_page(page), - "next": page + 2, + "has_next": paginated_entries.has_next(), + "has_prev": paginated_entries.has_previous(), + "next": page + 1, "prev": page - 1 }) return HttpResponse(t.render(c))