]> git.sommitrealweird.co.uk Git - sommitrealweird.git/blobdiff - sommitrealweird/blog/views.py
Make menu items more seperated
[sommitrealweird.git] / sommitrealweird / blog / views.py
index d5da81b09fac29b559b1a8044ac3bd2720682446..b01bec8dcbffaf5bf3de08e7450a0869df19458d 100644 (file)
@@ -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))