Django模块学习- django-pagination

 实在是很简单的一个Django 的分页插件。

使用pip instal pagination 即可完成安装。

完成后配置如下:

1. 将安装文件中的 pagination 文件夹拷贝到项目的根目录下

2. settings.py 修改

添加 App

Django模块学习- django-pagination
1     INSTALLED_APPS = (

2                   # ...

3             'pagination',

4                )
app configuration

添加中间件

Django模块学习- django-pagination
1 TEMPLATE_CONTEXT_PROCESSORS = (

2         "django.core.context_processors.auth",

3         "django.core.context_processors.debug",

4         "django.core.context_processors.i18n",

5         "django.core.context_processors.media",

6         "django.core.context_processors.request"

7     )
setting.py

3.修改需要分页的模板文件:

在模板中顶部位置,添加{% load pagination_tags %};

添加分页处理,默认为每 20 项分页一次:{% autopaginate contents %},其中 contents即为 views 所传递的结果集;如果需要按每 10 项分页一次,可写为:{% autopaginate contents 10 %};

展现分页结果,在模板中,内容呈现的后面输入:{% paginate %}

4. views.py 编写

views.py 中的内容比使用Django自带分页机制所写要简单很多,内容如下:

Django模块学习- django-pagination
1 def listing(request):  

2         contents = Contents.objects.all()  

3         return render_to_response('templates_tmp.html', {"contents": contents}) 
view.py

大家不要笑出来,确实就这么简单。

5. 其他选项

Django模块学习- django-pagination
1 PAGINATION_DEFAULT_PAGINATION         每页显示数量

2 PAGINATION_DEFAULT_WINDOW                分页显示在当前页左右两边的页数

3 PAGINATION_DEFAULT_ORPHANS                最后一页显示的最小页数,默认为0

4 PAGINATION_INVALID_PAGE_RAISES_404    当页数不存在时,是否显示404页面
option

 

 

你可能感兴趣的:(pagination)