实在是很简单的一个Django 的分页插件。html
使用pip instal pagination 便可完成安装。django
完成后配置以下:app
1. 将安装文件中的 pagination 文件夹拷贝到项目的根目录下ide
2. settings.py 修改spa
添加 App插件
1 INSTALLED_APPS = ( 2 # ... 3 'pagination', 4 )
添加中间件debug
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 )
3.修改须要分页的模板文件:code
在模板中顶部位置,添加{% load pagination_tags %};htm
添加分页处理,默认为每 20 项分页一次:{% autopaginate contents %},其中 contents即为 views 所传递的结果集;若是须要按每 10 项分页一次,可写为:{% autopaginate contents 10 %};中间件
展示分页结果,在模板中,内容呈现的后面输入:{% paginate %}
4. views.py 编写
views.py 中的内容比使用Django自带分页机制所写要简单不少,内容以下:
1 def listing(request): 2 contents = Contents.objects.all() 3 return render_to_response('templates_tmp.html', {"contents": contents})
你们不要笑出来,确实就这么简单。
5. 其余选项
1 PAGINATION_DEFAULT_PAGINATION 每页显示数量 2 PAGINATION_DEFAULT_WINDOW 分页显示在当前页左右两边的页数 3 PAGINATION_DEFAULT_ORPHANS 最后一页显示的最小页数,默认为0 4 PAGINATION_INVALID_PAGE_RAISES_404 当页数不存在时,是否显示404页面