實在是很簡單的一個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頁面