]> git.sommitrealweird.co.uk Git - sommitrealweird.git/blobdiff - sommitrealweird/blog/views.py
Fix 404 rendering
[sommitrealweird.git] / sommitrealweird / blog / views.py
index 08b52670cb00ce3c15507d9e500e8b7631d7e7e8..52fab007886f526b770234b5e2897b64ed4d0bdc 100644 (file)
@@ -1,5 +1,6 @@
 from blog.models import BlogEntry, BlogSection
 from django.http import Http404, HttpResponse
 from blog.models import BlogEntry, BlogSection
 from django.http import Http404, HttpResponse
+from django.shortcuts import render
 from django.template import RequestContext, loader
 from django.core.paginator import Paginator
 from django.conf import settings
 from django.template import RequestContext, loader
 from django.core.paginator import Paginator
 from django.conf import settings
@@ -16,23 +17,24 @@ def blog_index(request, section=None):
             page = int(request.GET.get('page', 1))
         except ValueError:
             page = 1
             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.object_list,
-                "title": settings.BLOG_TITLE,
-                "page": page,
-                "pages": pages,
-                "paginated": 1,
-                "has_more_than_one_page": (len(pages) > 1),
-                "has_next": paginated_entries.has_next(),
-                "has_prev": paginated_entries.has_previous(),
-                "next": page + 1,
-                "prev": page - 1
-            })
-        return HttpResponse(t.render(c))
+        try:
+            paginated_entries = paginator.page(page)
+            pages = paginator.page_range
+            c = {
+                    "entries": paginated_entries.object_list,
+                    "title": settings.BLOG_TITLE,
+                    "page": page,
+                    "pages": pages,
+                    "paginated": 1,
+                    "has_more_than_one_page": (len(pages) > 1),
+                    "has_next": paginated_entries.has_next(),
+                    "has_prev": paginated_entries.has_previous(),
+                    "next": page + 1,
+                    "prev": page - 1
+                }
+            return render(request, 'blog/blog_index.html', c)
+        except:
+            raise Http404
     else:
         raise Http404
 
     else:
         raise Http404
 
@@ -43,16 +45,16 @@ def blog_view(request, year=None, month=None, day=None, hour=None, minutes=None,
             year = int(year)
             month = int(month)
             day = int(day)
             year = int(year)
             month = int(month)
             day = int(day)
-            blog_entry = BlogEntry.objects.get(publish_date__year=year, publish_date__month=month, publish_date__day=day, slug__exact=slug)
-            template_name = "blog/single_entry_%s.html" %(blog_entry.format,)
-            t = loader.get_template(template_name)
-            c = RequestContext(request,
-                {
-                    "entry": blog_entry,
-                    "publish_date": blog_entry.publish_date
-                }
-            )
-            return HttpResponse(t.render(c))
+            try:
+                blog_entry = BlogEntry.objects.get(publish_date__year=year, publish_date__month=month, publish_date__day=day, slug__exact=slug)
+                template_name = "blog/single_entry_%s.html" %(blog_entry.format,)
+                c = {
+                        "entry": blog_entry,
+                        "publish_date": blog_entry.publish_date
+                    }
+                return render(request, template_name, c)
+            except:
+                raise Http404
     else:
         entries = BlogEntry.objects.all()
         if year and month and day:
     else:
         entries = BlogEntry.objects.all()
         if year and month and day:
@@ -75,22 +77,23 @@ def blog_view(request, year=None, month=None, day=None, hour=None, minutes=None,
                 page = int(request.GET.get('page', 1))
             except ValueError:
                 page = 1
                 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.object_list,
-                    "title": settings.BLOG_TITLE,
-                    "page": page,
-                    "pages": pages,
-                    "paginated": 1,
-                    "has_more_than_one_page": (len(pages) > 1),
-                    "has_next": paginated_entries.has_next(),
-                    "has_prev": paginated_entries.has_previous(),
-                    "next": page + 1,
-                    "prev": page - 1
-                })
-            return HttpResponse(t.render(c))
+            try:
+                paginated_entries = paginator.page(page)
+                pages = paginator.page_range
+                c = {
+                        "entries": paginated_entries.object_list,
+                        "title": settings.BLOG_TITLE,
+                        "page": page,
+                        "pages": pages,
+                        "paginated": 1,
+                        "has_more_than_one_page": (len(pages) > 1),
+                        "has_next": paginated_entries.has_next(),
+                        "has_prev": paginated_entries.has_previous(),
+                        "next": page + 1,
+                        "prev": page - 1
+                    }
+                return render(request, "blog/blog_index.html", c)
+            except:
+                raise Http404
         else:
             raise Http404
         else:
             raise Http404