分页

https://github.com/jamespacileo/django-pure-pagination
1.  pip install django-pure-pagination

2.

INSTALLED_APPS = (
    ...
    'pure_pagination',
)
PAGINATION_SETTINGS = {
    'PAGE_RANGE_DISPLAYED': 10,
    'MARGIN_PAGES_DISPLAYED': 2,

    'SHOW_FIRST_PAGE_WHEN_INVALID': True,
}

3.

from pure_pagination import Paginator, EmptyPage, PageNotAnInteger

def index(request):

    try:
        page = request.GET.get('page', 1)
    except PageNotAnInteger:
        page = 1
    objects = ['john', 'edward', 'josh', 'frank']
    #num每页数量
    p = Paginator(objects,num, request=request)
    people = p.page(page)
    return render_to_response('index.html', {
        'people': people,
    }

4.前端

{% load i18n %}
<div class="pagination">
    {% if page_obj.has_previous %}
        <a href="?{{ page_obj.previous_page_number.querystring }}" class="prev">&lsaquo;&lsaquo; {% trans "previous" %}</a>
    {% else %}
        <span class="disabled prev">&lsaquo;&lsaquo; {% trans "previous" %}</span>
    {% endif %}
    {% for page in page_obj.pages %}
        {% if page %}
            {% ifequal page page_obj.number %}
                <span class="current page">{{ page }}</span>
            {% else %}
                <a href="?{{ page.querystring }}" class="page">{{ page }}</a>
            {% endifequal %}
        {% else %}
            ...
        {% endif %}
    {% endfor %}
    {% if page_obj.has_next %}
        <a href="?{{ page_obj.next_page_number.querystring }}" class="next">{% trans "next" %} &rsaquo;&rsaquo;</a>
    {% else %}
        <span class="disabled next">{% trans "next" %} &rsaquo;&rsaquo;</span>
    {% endif %}
</div>

分页