首先要作的就是下載django-pagination插件,裝上便可;html
完成後,使用方法以下:python
1.在本身的項目setting.py文件中添加,
django
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.添加代碼到本身須要分頁的模板中
debug
{% load pagination_tags %} {% autopaginate topics %} <!-- 添加分頁處理,默認爲每 20 項分頁一次 --> <!-- {% autopaginate topics 10 %} 這樣能夠指定分頁的項數--> {% paginate %}
5.在views.py中定義視圖函數code
def listing(request): topics= Topic.objects.all() return render_to_response('templates_pg.html', {"topics": topics})
到此爲止,整個的分頁處理已經可使用;另外還有一點就是定製本身的分頁,本身DIY顯示的樣式和方式,以下,
htm
6.修改默認的分頁模板,拷貝一份在site-packages/pagination/templates/pagination.html到本身的項目中,路徑是:{{項目根目錄}}/templates/paginatioin/pagination.html,想要如何修改,看本身需求;
中間件
7. 修改默認選項
it
添加到settings.py中,設置就ok了。
PAGINATION_DEFAULT_PAGINATION 每頁顯示數量 PAGINATION_DEFAULT_WINDOW 分頁顯示在當前頁左右兩邊的頁數 PAGINATION_DEFAULT_ORPHANS 最後一頁顯示的最小頁數,默認爲0 PAGINATION_INVALID_PAGE_RAISES_404 當頁數不存在時,是否顯示404頁面
over!!!