summaryrefslogtreecommitdiff
path: root/sublab_project/news
diff options
context:
space:
mode:
authorChristian Franke <nobody@nowhere.ws>2011-12-30 02:19:39 +0100
committerChristian Franke <nobody@nowhere.ws>2011-12-30 02:19:59 +0100
commit5b2c404d2955599bb50635b05d9191cb4bd6e34d (patch)
treea4bca5293c8036e3e3c0efc06c7af7e1f98f86b4 /sublab_project/news
parentcc2bb825e50a4de96dbdf191ccfbda9d6397feb8 (diff)
Improve ListView for news
Diffstat (limited to 'sublab_project/news')
-rw-r--r--sublab_project/news/templates/news/news_list.html8
-rw-r--r--sublab_project/news/urls.py5
-rw-r--r--sublab_project/news/views.py12
3 files changed, 23 insertions, 2 deletions
diff --git a/sublab_project/news/templates/news/news_list.html b/sublab_project/news/templates/news/news_list.html
index 6330ffb..ea46320 100644
--- a/sublab_project/news/templates/news/news_list.html
+++ b/sublab_project/news/templates/news/news_list.html
@@ -8,4 +8,12 @@
</h3>
<p>{{ post.content_html|safe }}</p>
{% endfor %}
+ {% if is_paginated %}
+ <p>
+ {% for page in paginator.page_range %}
+ <a href="?page={{ page }}">{{ page }}</a>
+ {% endfor %}
+ </p>
+ {% endif %}
+
{% endblock content %}
diff --git a/sublab_project/news/urls.py b/sublab_project/news/urls.py
index c26d12d..fe682ad 100644
--- a/sublab_project/news/urls.py
+++ b/sublab_project/news/urls.py
@@ -1,9 +1,10 @@
from django.conf.urls.defaults import patterns, include, url
-from django.views.generic import ListView, DetailView
+from django.views.generic import DetailView
from news.models import News
+from news.views import NewsListView
urlpatterns = patterns('',
- url(r'^$', ListView.as_view(model=News, paginate_by=8), name='news_list'),
+ url(r'^$', NewsListView.as_view(), name='news_list'),
url(r'^news/(?P<slug>[-\w]+)/$', DetailView.as_view(model=News), name='news_detail'),
)
diff --git a/sublab_project/news/views.py b/sublab_project/news/views.py
index 60f00ef..ff62be5 100644
--- a/sublab_project/news/views.py
+++ b/sublab_project/news/views.py
@@ -1 +1,13 @@
# Create your views here.
+from django.views.generic import ListView
+from django.core.paginator import Paginator
+
+from news.models import News
+
+class NewsListView(ListView):
+ model = News
+ paginate_by = 8
+
+ def get_paginator(self, queryset, per_page, **kwargs):
+ kwargs['orphans'] = 3
+ return Paginator(queryset, per_page, **kwargs)