首页 > 代码库 > django 分页django-pure-pagination

django 分页django-pure-pagination

虽然django自带了一个paginator,但不是很方便,我们使用django-pure-pagination

github地址https://github.com/jamespacileo/django-pure-pagination.git

里面有教程,这里简要的说明一下

第一步下载

两种方式

一pip安装pip install django-pure-pagination

二源码安装git clone https://github.com/jamespacileo/django-pure-pagination.git

cd django-pure-pagination

python setup.py install

两者选其一

第二步使用

在settings中添加

INSTALLED_APPS = (
    ...
    pure_pagination,
)

这里在settings中加入一些分页配置,

PAGINATION_SETTINGS = {
    PAGE_RANGE_DISPLAYED: 10,
    MARGIN_PAGES_DISPLAYED: 2,

    SHOW_FIRST_PAGE_WHEN_INVALID: True,
}

views

# views.py
from django.shortcuts import render_to_response

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]

    # Provide Paginator with the request object for complete querystring generation

    p = Paginator(objects, request=request)

    people = p.page(page)

    return render_to_response(index.html, {
        people: people,
    }

html

{# index.html #}
{% extends ‘base.html‘ %}

{% block content %}

{% for person in people.object_list %}
    <div>
        First name: {{ person }}
    </div>
{% endfor %}

{# The following renders the pagination html #}
<div id="pagination">
    {{ people.render }}
</div>

{% endblock %}

还有什么不明白的可以上github上看

django 分页django-pure-pagination