添加分页

  • views.py
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)
  • list.html
{% include 'pagination.html' with page=posts %}
  • pagination.html
{% 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 %}
posted @ 2018-09-15 21:55  ret  阅读(65)  评论(0)    收藏  举报