from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
def post_list(request):
context = dict()
object_list = Post.published.all()
paginator = Paginator(object_list, 1)
page = request.GET.get('page')
try:
posts = paginator.page(page)
except PageNotAnInteger:
posts = paginator.page(1)
except EmptyPage:
posts = paginator.page(paginator.num_pages)
context['posts'] = posts
return render(request, 'blog/post/list.html', context)
{% include 'pagination.html' with page=posts %}
{% if page.has_previous %}
{{ page.previous_page_number }}
{% endif %}
{% for page_num in page.paginator.page_range %}
{% if page_num == page.number %}
{{ page_num }}
{% else %}
{{ page_num }}
{% endif %}
{% endfor %}
{% if page.has_next %}
{{ page.next_page_number}}
{% endif %}