イアンに教えてもらったのも結構前なのだけど、使う場面があったのでようやく使ってみた。
djangoには最初からpaginatorがあるけど、実際に使うと結構面倒くさい。
django-paginationを使うとミドルウェアとテンプレートタグをちょっと書くだけでページネーションできる。
Google Code Archive - Long-term storage for Google Code Project Hosting.
スクリーンキャスト見ればすぐわかると思うけどメモ。
- paginationをsettings.pyのINSTALLED_APPSに追加
- django.core.context_processors.requestをsettings.pyのTEMPLATE_CONTEXT_PROCESSORSに追加
- pagination.middleware.PaginationMiddlewareをsettings.pyのMIDDLEWARE_CLASSに追加
- ページネーションを使うテンプレートで{% load pagination_tags %}
- {% for ... %}の前あたりに{% autopaginate 対象のリスト %}を追加
- ページ番号などのリンクを表示するために{% paginate %}を追加
終わり。