Mercurial > public > sg101
changeset 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 | 93d9e74a471e |
children | d0d779dd0832 |
files | gpp/forums/admin.py gpp/forums/models.py gpp/forums/views.py gpp/templates/forums/forum_index.html gpp/templates/forums/topic.html |
diffstat | 5 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/gpp/forums/admin.py Sun Sep 13 18:43:08 2009 +0000 +++ b/gpp/forums/admin.py Sun Sep 13 19:58:31 2009 +0000 @@ -39,6 +39,7 @@ search_fields = ('body', ) date_hierarchy = 'creation_date' list_filter = ('creation_date', 'update_date', ) + ordering = ('-creation_date', ) save_on_top = True
--- a/gpp/forums/models.py Sun Sep 13 18:43:08 2009 +0000 +++ b/gpp/forums/models.py Sun Sep 13 19:58:31 2009 +0000 @@ -119,7 +119,7 @@ user_ip = models.IPAddressField(blank=True, default='', null=True) class Meta: - ordering = ('-creation_date', ) + ordering = ('creation_date', ) @models.permalink def get_absolute_url(self):
--- 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}), },
--- a/gpp/templates/forums/forum_index.html Sun Sep 13 18:43:08 2009 +0000 +++ b/gpp/templates/forums/forum_index.html Sun Sep 13 19:58:31 2009 +0000 @@ -11,7 +11,7 @@ <div class="forum-block"> <a href="{% url forums-new_topic slug=forum.slug %}">New Topic</a> -{% forum_page_navigation page %} +{{ page_nav }} <table class="forum-index-table"> <thead> <tr> @@ -42,6 +42,6 @@ {% endfor %} </tbody> </table> -{% forum_page_navigation page %} +{{ page_nav }} </div> {% endblock %}
--- a/gpp/templates/forums/topic.html Sun Sep 13 18:43:08 2009 +0000 +++ b/gpp/templates/forums/topic.html Sun Sep 13 19:58:31 2009 +0000 @@ -1,5 +1,4 @@ {% extends 'base.html' %} -{% load forum_tags %} {% block title %}Forums: {{ topic.name }}{% endblock %} {% block custom_js %}{% if last_page %}{{ form.media }}{% endif %}{% endblock %} {% block content %} @@ -18,14 +17,14 @@ <a href="./?page={{ page.paginator.num_pages }}#forum-reply-form">New Reply</a> • {% endif %} <a href="{% url forums-new_topic slug=forum.slug %}">New Topic</a> -{% forum_page_navigation page %} +{{ page_nav }} <table class="forum-topic" id="forum-topic"> {% for post in page.object_list %} {% include 'forums/display_post.html' %} {% endfor %} </table> -{% forum_page_navigation page %} +{{ page_nav }} {% if last_page and user.is_authenticated %} <a name="forum-reply-form"></a>