Querier

Djangoで管理画面を作る最適な方法は? | カスタマイズ方法、テンプレートまで解説

2023.07.12に公開 | 2023.07.13に更新

Querier運営

@querier_io@querierinc

「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。

管理画面の構築もWeb上で完結
エンジニアのためのローコードツール

Querierについて詳しく見る

DjangoはPythonで作られたフレームワークの一つであり、その堅牢性と柔軟性から多くのウェブアプリケーション開発者に愛されています。

特に、簡単に利用できる管理画面がDjangoの一つの大きな魅力となっています。

今回の記事では、Djangoで管理画面を作る方法、そしてそのカスタマイズ方法について詳しく解説します。

Djangoで管理画面を作る方法

Djangoの管理画面は、デフォルトで含まれている機能の一つであり、これを活用することでデータベースとの操作をGUIで行うことが可能になります。

1. Djangoをインストール

まず、Djangoをインストールします。

以下のコマンドを実行します。

pip install django

2. プロジェクトとアプリケーションの作成

次に、Djangoプロジェクトとアプリケーションを作成します。

以下のコマンドを実行します。

django-admin startproject myproject
cd myproject
django-admin startapp myapp

このとき、myprojectはプロジェクト名、myappはアプリケーション名です。

3. モデルの作成とマイグレーション

管理画面で操作するためのモデルを作成します。

myapp/models.pyに以下のように記述します。

from django.db import models

class MyModel(models.Model):
    name = models.CharField(max_length=100)
    description = models.TextField()

    def __str__(self):
        return self.name

モデルを作成したら、次にマイグレーションを行います。

以下のコマンドを実行します。

python manage.py makemigrations
python manage.py migrate

4. 管理画面の有効化

最後に、作成したモデルを管理画面で操作できるように設定します。myapp/admin.pyに以下のように記述します。

from django.contrib import admin
from .models import MyModel

admin.site.register(MyModel)

これで、Djangoの管理画面を作る基本的な手順は完了です。

しかし、管理画面にアクセスするにはsuperuserが必要となります。

5. Superuserの作成

管理画面を操作するためにはsuperuser(管理者)を作成する必要があります。

以下のコマンドを実行し、指示に従ってユーザー名とパスワードを設定します。

python manage.py createsuperuser

これで、サーバを起動して、管理画面にログインし、作成したモデルの管理が可能になります。

python manage.py runserver

Djangoで構築した管理画面をカスタマイズする方法

Djangoの管理画面はカスタマイズが可能で、より細かい操作が必要な場合や見た目を変更したい場合に便利です。

1. 管理画面の見た目を変更

Djangoの管理画面の見た目はCSSでカスタマイズすることができます。myapp/static/admin/cssディレクトリを作成し、ここにカスタムCSSファイルを配置します。

Djangoはこのディレクトリを自動的に読み込み、管理画面のスタイルを上書きします。

2. モデルの管理画面をカスタマイズ

admin.pyでモデルの管理画面の表示方法をカスタマイズすることも可能です。

以下のようにModelAdminクラスを継承したクラスを作成し、その中で表示方法を定義します。

from django.contrib import admin
from .models import MyModel

class MyModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'description')

admin.site.register(MyModel, MyModelAdmin)

Djangoで管理画面を作る際のおすすめテンプレート

Djangoの管理画面は、カスタマイズすることで使いやすく、見た目を良くすることが可能です。しかし、初めから豊富な機能を持つ管理画面を利用することも可能です。

ここでは、おすすめの管理画面テンプレートを3つ紹介し、その特徴と使い方について説明します。

1. Django Suit

Django Suitは、Djangoの管理画面をより美しく、使いやすくするためのテンプレートです。モダンでプロフェッショナルな見た目と、その操作性は開発者にとって大きな利点となります。

以下のコマンドでインストールできます。

pip install django-suit

設定ファイルsettings.pyに、以下のようにINSTALLED_APPS'suit'を追加します。

INSTALLED_APPS = (
    'suit',
    'django.contrib.admin',
    ...
)

2. Django Jet

Django Jetは、管理画面にグラフやダッシュボード機能を追加することが可能なテンプレートです。これらの機能は、データの分析や管理をより直感的に行うために有用です。

以下のコマンドでインストールできます。

pip install django-jet

設定ファイルsettings.pyに、以下のようにINSTALLED_APPS'jet'を追加します。

INSTALLED_APPS = (
    'jet',
    'django.contrib.admin',
    ...
)

3. Django AdminLTE

Django AdminLTEは、AdminLTEをDjangoで利用できるようにしたテンプレートです。AdminLTEは、Bootstrapベースの管理画面テンプレートで、美しく使いやすいUIを持っています。

以下のコマンドでインストールできます。

pip install django-adminlte2

設定ファイルsettings.pyに、以下のようにINSTALLED_APPS'adminlte2'を追加します。

INSTALLED_APPS = (
    'adminlte2',
    'django.contrib.admin',
    ...
)

以上、Djangoで管理画面を作る際のおすすめのテンプレートとその使い方について説明しました。それぞれのテンプレートが持つ特徴を理解し、プロジェクトに最適なものを選んでみてください。

管理画面をローコードで構築するという選択肢も

スクラッチ開発は高度なカスタマイズを可能にしますが、開発期間や必要な技術的知識は決して小さな負担ではありません。

そこで、我々はエンジニアの負担を軽減し、管理画面の開発をもっと手軽に、効率的にするために、「Querier」を開発しています。

Querierは、ローコードツールとしてエンジニアに対して使いやすさを追求して設計されています。テクニカルな知識が少ないチームでも、容易に管理画面を構築することが可能です。また、更新やメンテナンスも簡単に行うことができます。

最終的に、プロジェクトの要件や利用可能なリソースに応じて、スクラッチ開発とローコードツールの間で適切なバランスを見つけることが重要です。

その選択の一つとして、ぜひ私たちが開発したQuerierをのぞいてみてください。

さいごに

今回はDjangoで管理画面を作る方法とそのカスタマイズ方法について解説しました。

特に、superuserの作成により、管理画面を完全にコントロールできることはDjangoの大きな特徴です。ぜひ活用してみてください。

「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。

最新の記事

【告知】値の参照時の仕様変更のお知らせ

このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。

more

管理画面の構築もWeb上で完結
エンジニアのためのローコードツール

Querierについて詳しく見る