Django の管理画面を独自のデザインや機能にカスタマイズし、オリジナルのダッシュボードを作成する方法を解説します。
Django の標準管理画面(Admin)は非常に強力ですが、 デザインや操作性をカスタムすることで、より直感的で使いやすい管理画面を作成 できます。
本記事では、Django の管理画面を カスタムダッシュボード に変更する方法を詳しく解説します。
デフォルトの Django 管理画面には次のような制約があります。
✅ カスタム管理画面を作成することで:
カスタム管理画面を作成する方法は、大きく分けて 2 つあります。
方法 | 説明 |
---|---|
admin.ModelAdmin を拡張 | Django の標準管理画面をカスタマイズする方法 |
独自の管理画面を作成 | Django Admin を使わず、独自の UI で管理画面を構築 |
今回は、 Django Admin のテンプレートをオーバーライド する方法と、 完全独自の管理画面を作成 する方法の両方を解説します。
まずは、 Django 標準の管理画面のデザインを変更 する方法を見ていきましょう。
Django の管理画面のテンプレートは django/contrib/admin/templates/admin/
にあります。
これらのファイルを プロジェクトの templates/admin/
にコピー すると、カスタマイズが可能になります。
BASHmkdir -p templates/admin cp -r $(python -c "import django; print(django.__path__[0])")/contrib/admin/templates/admin templates/
この中の base_site.html
を編集すると、 管理画面の見た目を変更 できます。
HTML<!-- templates/admin/base_site.html --> {% extends "admin/base.html" %} {% block title %}カスタム管理画面{% endblock %} {% block branding %} <h1>カスタム管理画面</h1> {% endblock %} {% block nav-global %}カスタムナビゲーション{% endblock %}
✅ ポイント:
base_site.html
をカスタムすると、ヘッダーやタイトルを変更可能。block branding
で ロゴやカスタムタイトルを設定。block nav-global
で 独自のナビゲーションメニューを追加。標準の Django Admin を使わずに、独自の管理画面 を構築する方法もあります。
Django のビューとして、新しい管理画面用のページを作成します。
PYTHONfrom django.contrib.auth.decorators import login_required from django.shortcuts import render @login_required def custom_admin_dashboard(request): return render(request, 'admin_dashboard.html', { 'user_count': User.objects.count(), 'post_count': Post.objects.count(), })
urls.py
に新しい管理ページのルートを追加します。
PYTHONfrom django.urls import path from .views import custom_admin_dashboard urlpatterns = [ path('custom-admin/', custom_admin_dashboard, name='custom_admin_dashboard'), ]
HTML<!-- templates/admin_dashboard.html --> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8" /> <title>カスタム管理ダッシュボード</title> </head> <body> <h1>管理ダッシュボード</h1> <p>登録ユーザー数: {{ user_count }}</p> <p>投稿数: {{ post_count }}</p> </body> </html>
✅ ポイント:
login_required
を使い、管理者のみがアクセス可能に する。User.objects.count()
などで 統計情報を表示。base_site.html
をカスタマイズすると 標準管理画面のデザイン変更ができる。custom_admin_dashboard
を作成すれば、 独自の管理ダッシュボードが構築できる。当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。