カテゴリ: Django 更新日: 2026/03/02

Django Adminの一覧画面を自由に変更!list_displayの使い方を初心者向けにやさしく解説

Django Adminで一覧画面の表示項目をカスタマイズする方法(list_display)
Django Adminで一覧画面の表示項目をカスタマイズする方法(list_display)

先生と生徒の会話形式で理解しよう

生徒

「Django Adminを開いたら、一覧画面があるんですが、ちょっと見づらいです。表示されている項目って変えられるんですか?」

先生

「変えられますよ。Django Adminでは、一覧画面に表示する項目を自分で選べます。」

生徒

「えっ、プログラミング初心者でもできますか?パソコンもあまり触ったことがなくて…」

先生

「大丈夫です。今日はlist_displayという仕組みを使って、画面を見やすくする方法を一緒に見ていきましょう。」

1. Django Adminとは?初心者向けに超かんたん説明

1. Django Adminとは?初心者向けに超かんたん説明
1. Django Adminとは?初心者向けに超かんたん説明

Django Admin(ジャンゴ アドミン)は、DjangoというPythonのWebフレームワークに最初から用意されている「管理画面」です。Webサイトの裏側で、データを追加したり、編集したり、削除したりするための画面だと思ってください。

たとえば、ノートに名前や電話番号を書いて管理する代わりに、パソコンの画面で一覧表として管理できる場所、それがDjango Adminです。HTMLやCSSを自分で書かなくても、ログイン画面や一覧画面が自動で作られるのが大きな特徴です。

2. Django Adminの一覧画面って何?

2. Django Adminの一覧画面って何?
2. Django Adminの一覧画面って何?

Django Adminにログインすると、登録されているデータが「一覧画面」として表示されます。これは、表(テーブル)のような形で、データが縦にずらっと並んでいる画面です。

初期状態では、モデル(データの設計図)で定義した項目がすべて表示されるわけではなく、少し物足りない表示になっています。そのため、「何のデータかわかりにくい」「確認に時間がかかる」と感じることがあります。

3. list_displayとは?意味をかみくだいて説明

3. list_displayとは?意味をかみくだいて説明
3. list_displayとは?意味をかみくだいて説明

list_displayは、Django Adminの一覧画面に「どの項目を表示するか」を指定するための設定です。英語の意味としては、「list(一覧)に display(表示する)」というイメージです。

たとえるなら、家計簿で「日付・金額・メモ」だけを見たいときに、その3つだけを表に並べる感じです。Django Adminでも、必要な項目だけを選んで表示できます。

4. list_displayの基本的な書き方

4. list_displayの基本的な書き方
4. list_displayの基本的な書き方

まずは、一番シンプルな書き方を見てみましょう。これは、Django Adminのadmin.pyというファイルに書きます。


from django.contrib import admin
from .models import Book

@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ('id', 'title', 'price')

ここで使われている言葉を一つずつ説明します。

ModelAdmin:管理画面の見た目や動きを決めるクラスです。「このモデルをどう表示するか」を設定します。

list_display:一覧画面に表示したい項目を、カンマ区切りで並べます。文字列で書くのがポイントです。

5. 表示される画面はどう変わる?

5. 表示される画面はどう変わる?
5. 表示される画面はどう変わる?

上の設定をすると、Django Adminの一覧画面には「ID」「タイトル」「価格」が横に並んで表示されます。今まで1項目しか表示されていなかった画面が、ぐっと見やすくなります。


ID | タイトル | 価格
1  | Python入門 | 2500
2  | Django基礎 | 3000

このように、表として情報が整理されるため、データの確認や管理がとても楽になります。

6. 関数を使って表示内容をカスタマイズする

6. 関数を使って表示内容をカスタマイズする
6. 関数を使って表示内容をカスタマイズする

list_displayには、モデルの項目だけでなく、自分で作った関数も表示できます。少し難しそうに見えますが、考え方はシンプルです。


@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    list_display = ('title', 'price_with_tax')

    def price_with_tax(self, obj):
        return obj.price * 1.1

ここでは「税込み価格」を計算して表示しています。objは1行分のデータだと思ってください。その中のpriceを使って計算しています。

7. 表示名を日本語にする方法

7. 表示名を日本語にする方法
7. 表示名を日本語にする方法

関数を使うと、一覧画面の項目名が英語のまま表示されることがあります。それを日本語に変える方法もあります。


    price_with_tax.short_description = '税込み価格'

これを追加すると、一覧画面の見出しが「税込み価格」と表示されます。管理画面は人が使うものなので、日本語表示にすると親切です。

8. list_displayを使うときの注意点

8. list_displayを使うときの注意点
8. list_displayを使うときの注意点

list_displayに指定できるのは、モデルに存在する項目か、Adminクラス内で定義した関数だけです。存在しない名前を書くと、エラーになります。

また、あまり多くの項目を表示しすぎると、逆に見づらくなります。本当に必要な情報だけを表示するのがコツです。

カテゴリの一覧へ
新着記事
New1
Flask
Flaskのアプリケーションファクトリパターンをやさしく解説!初心者でもわかる理由とメリット
New2
Flask
FlaskアプリのSECRET_KEYの設定方法を完全ガイド!初心者でもわかるセキュリティ対策
New3
Django
Djangoでできることとは?初心者でもわかるDjangoの特徴と向いているプロジェクト
New4
Flask
Flaskとクラウド連携を最適化!初心者でもできるWebアプリ運用のベストプラクティス
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonのコメント活用術!初心者向けにTODO・FIXME・ドキュメンテーションコメントの書き方を完全解説
No.2
Java&Spring記事人気No2
Python
Pythonのbytes型とbytearray型とは?初心者向けにバイナリデータの扱い方を解説!
No.3
Java&Spring記事人気No3
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.4
Java&Spring記事人気No4
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.5
Java&Spring記事人気No5
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.6
Java&Spring記事人気No6
Flask
Flaskで非同期処理が必要になる場面とは?初心者でもわかる非同期処理とタスク管理の考え方
No.7
Java&Spring記事人気No7
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.8
Java&Spring記事人気No8
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説