码迷,mamicode.com
首页 > 其他好文 > 详细

django 分页django-pure-pagination

时间:2017-06-21 09:42:39      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:tin   get   john   win   lock   not   page   clone   说明   

虽然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

标签:tin   get   john   win   lock   not   page   clone   说明   

原文地址:http://www.cnblogs.com/lgh344902118/p/7057757.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!