您的位置:首页 > 编程语言 > Go语言

django-pagination使用

2014-11-13 12:37 363 查看
摘要: django的自带的分页处理,相对还是比较简单的;但是使用django-pagination扩展的app更显得便捷,5星级推荐。

首先要做的就是下载django-pagination插件,装上即可;

完成后,使用方法如下:

1.在自己的项目setting.py文件中添加,

INSTALLED_APPS = (
# ...
'pagination',
)

2.添加中间件

MIDDLEWARE_CLASSES = (
# ...
'pagination.middleware.PaginationMiddleware',
)

3.添加context

TEMPLATE_CONTEXT_PROCESSORS = (
"django.core.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.request"
)

4.添加代码到自己需要分页的模板中

{% load pagination_tags %}
{% autopaginate topics %} <!-- 添加分页处理,默认为每 20 项分页一次 -->
<!-- {% autopaginate topics 10 %} 这样可以指定分页的项数-->
{% paginate %}

5.在views.py中定义视图函数

def listing(request):
topics= Topic.objects.all()
return render_to_response('templates_pg.html', {"topics": topics})

到此为止,整个的分页处理已经可以使用;另外还有一点就是定制自己的分页,自己DIY显示的样式和方式,如下,

6.修改默认的分页模板,拷贝一份在site-packages/pagination/templates/pagination.html到自己的项目中,路径是:{{项目根目录}}/templates/paginatioin/pagination.html,想要如何修改,看自己需求;

7. 修改默认选项

添加到settings.py中,设置就ok了。

PAGINATION_DEFAULT_PAGINATION         每页显示数量
PAGINATION_DEFAULT_WINDOW               分页显示在当前页左右两边的页数
PAGINATION_DEFAULT_ORPHANS              最后一页显示的最小页数,默认为0
PAGINATION_INVALID_PAGE_RAISES_404  当页数不存在时,是否显示404页面

over!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django 分页 pagination