diff gpp/forums/views.py @ 97:96eec1ed0fd3

Render the forum page navigation in the view with render_to_string() to avoid doing it twice in the template code. Also undo a mistake in the last commit. Need 2 different orderings for Post objects: by creation date in normal views, and by reverse creation date in the admin.
author Brian Neal <bgneal@gmail.com>
date Sun, 13 Sep 2009 19:58:31 +0000
parents 4c33e266db03
children d0d779dd0832
line wrap: on
line diff
--- a/gpp/forums/views.py	Sun Sep 13 18:43:08 2009 +0000
+++ b/gpp/forums/views.py	Sun Sep 13 19:58:31 2009 +0000
@@ -10,6 +10,7 @@
 from django.core.paginator import InvalidPage
 from django.shortcuts import get_object_or_404
 from django.shortcuts import render_to_response
+from django.template.loader import render_to_string
 from django.template import RequestContext
 from django.views.decorators.http import require_POST
 
@@ -67,10 +68,14 @@
         page = paginator.page(page_num)
     except InvalidPage:
         raise Http404
+
+    # we do this for the template since it is rendered twice
+    page_nav = render_to_string('forums/pagination.html', {'page': page})
     
     return render_to_response('forums/forum_index.html', {
         'forum': forum,
         'page': page,
+        'page_nav': page_nav,
         },
         context_instance=RequestContext(request))
 
@@ -93,10 +98,14 @@
 
     last_page = page_num == paginator.num_pages
 
+    # we do this for the template since it is rendered twice
+    page_nav = render_to_string('forums/pagination.html', {'page': page})
+
     return render_to_response('forums/topic.html', {
         'forum': topic.forum,
         'topic': topic,
         'page': page,
+        'page_nav': page_nav,
         'last_page': last_page,
         'form': PostForm(initial={'topic_id': topic.id}),
         },