1.dj-pagination
這是一個(gè)專門分頁(yè)的Django插件,可以快速的實(shí)現(xiàn)數(shù)據(jù)分頁(yè)。
官方文檔[http://dj-pagination.readthedocs.io/en/latest/usage.html#usage]
2.快速實(shí)現(xiàn)
- 安裝
pip install dj-pagination
- 安裝
-
- 設(shè)置
#1. INSTALLED_APPS設(shè)置 INSTALLED_APPS = ( # ... 'dj_pagination', ) #2. middleware設(shè)置 MIDDLEWARE = ( # ... 'dj_pagination.middleware.PaginationMiddleware', ) #Django <1.10. 是 MIDDLEWARE_CLASSES 設(shè)置選項(xiàng) #3. TEMPLATE_CONTEXT_PROCESSORS: #添加這些設(shè)置凿渊。 ("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. 前端設(shè)置在模板的頂部添加此行以加載分頁(yè)標(biāo)簽: { % load pagination_tags %} # 添加要分頁(yè)處理的數(shù)據(jù) { % autopaginate object_list %} # 每個(gè)頁(yè)面默認(rèn)的20個(gè),可指定每頁(yè)結(jié)果數(shù)量熊响。 #{ % autopaginate object_list 10 %} #下面可以for循環(huán)遍歷object_list 顯示數(shù)據(jù) ...... #5.要顯示當(dāng)前頁(yè)面和可用頁(yè)面,使用paginate包含標(biāo)記 #在循環(huán)結(jié)束后放置即可诗赌。 { % paginate %}
-
- 以上就可以簡(jiǎn)單實(shí)現(xiàn)基礎(chǔ)分頁(yè)耘眨。
- 3.1 自定義分頁(yè)模板
/templates/paginatioin/pagination.html,是你的模板位置
默認(rèn)使用pagination/pagination.html
{% autopaginate posts pagesize %}
{% paginate using "/templates/paginatioin/pagination.html," %} -
3.2 同個(gè)模板中多次使用分頁(yè)
你可以多次使用autopaginate/paginate,需要注意的是你必須在使用paginate前使用autopaginate.
3.3 其他設(shè)置
PAGINATION_INVALID_PAGE_RAISES_404
對(duì)應(yīng)頁(yè)碼無(wú)效的頁(yè)碼是拋出404錯(cuò)誤(True)還是不顯示對(duì)象(False 默認(rèn)).
PAGINATION_DISPLAY_PAGE_LINKS
如果設(shè)置為False,分頁(yè)結(jié)果為單頁(yè)則不將顯示頁(yè)碼境肾。默認(rèn)為True, 單頁(yè)也顯示頁(yè)碼剔难。
PAGINATION_PREVIOUS_LINK_DECORATOR
'上一頁(yè)'鏈接的HTML內(nèi)容前綴,默認(rèn)為‹‹
也就是<<
PAGINATION_NEXT_LINK_DECORATOR
'下一頁(yè)'鏈接的HTML內(nèi)容前綴,默認(rèn)為››
也就是>>
PAGINATION_DISPLAY_DISABLED_PREVIOUS_LINK
如果設(shè)置為False,如果沒(méi)有上一頁(yè)則顯示上一頁(yè)鏈接奥喻。默認(rèn)為False偶宫。
PAGINATION_DISPLAY_DISABLED_NEXT_LINK
如果設(shè)置為False,如果沒(méi)有下一頁(yè)則顯示下一頁(yè)鏈接环鲤。默認(rèn)為False纯趋。
PAGINATION_DISABLE_LINK_FOR_FIRST_PAGE
如果設(shè)置為False,第一頁(yè)將?page=1
顯示分頁(yè)的鏈接后綴,否則(True)將被忽略吵冒。默認(rèn)為True纯命。