Ну вот у меня, например, тупая распределялка по страницам от pagination - по-моему, прямо из примера и брал:
def split_pages(request, qs, num=50):
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
paginator = Paginator(qs, num)
page = request.GET.get('page')
try:
qs = paginator.page(page)
except PageNotAnInteger:
qs = paginator.page(1)
except EmptyPage:
qs = paginator.page(paginator.num_pages)
return qs
во вьюхе берете нужный qs, например qs = Post.objects.filter(topic=topic_id)
делаете ему сплит:
posts = split_pages(request, qs, 50)
и выводите в шаблоне как в учебнике:
<div class="pagination">
<span class="step-links">
{% if posts.has_previous %}
<a href="?page={{ posts.previous_page_number }}">{% trans "предыдущая" %} </a>
{% endif %}
<span class="current">
{% trans "Страница" %} {{ posts.number }} из {{ posts.paginator.num_pages }}.
</span>
{% if posts.has_next %}
<a href="?page={{ posts.next_page_number }}">{% trans "следующая" %}</a>
{% endif %}
</span>
</div>
{% for post in posts %}
<div class="mystyle" >{{ post }}</div>
{% endfor %}
Updated 28 Aug. 2014, 18:43 by Ski.