Django開発~ショッピングカート構築編5~ページネーションの導入

django

Django開発~ショッピングカート構築編4~BootStrap導入の続きです。

本日は、ページネーションを実装してみましょう。

学習履歴

ページネーションとは

ページーネーションとは、日本語で「ページ分割」の意味で、商品一覧ページなど、表示項目数が多くなりがちなWebページを、各ページへのリンクを並べてアクセスしやすくするためのものです。

Google検索したときに、ページ下部に出てくるやつです。

Google検索より引用

Djangoでは、ページネーションの機能を実現するPaginatorオブジェクトが既に組み込まれています。

KOUKI
KOUKI

Djangoはできる子なのです。

しかも、Djangoの開発者によって、このページネーション機能は既に”テスト済み“であるため、私たちがテストコードを作ってテストを行う必要はありません。
※ケースによっては、テストをする必要はあるかもしれません。あくまで”一般的に”です。

テスト工数が削減できるのもDjangoを利用するメリットの一つです。

ページネーションを利用してみる

実装に入る前に、DjangoのShellを使って、少し遊んでみましょう。

このようにPaginatorオブジェクトは、「ページ情報」を保有しています。このページ情報を使って、ページネーションを実装します。

実装

ページネーションの大体の概要は理解いただけましたでしょうか?

それでは、実装してみましょう。

views.pyのall_products関数に実装します。

続いて、product_list.htmlにページネーションを適用します。

動作確認

「localhost:8000/admin」にアクセスし、管理画面から商品を”4つ以上“投入しましょう。

それから「localhost:8000」にアクセスし、画面を確認してください。

ページ下部にページネーションが表示されたと思います。

1ページ目
2ページ目

とっても簡単ですね!

参考書籍

次回

次回は、検索機能を作成しましょう^^

コメントを残す