SEワンタンの独学備忘録

IT関連の独学した内容や資格試験に対する取り組みの備忘録

【Django】Django管理ツールの使用準備

Djangoから接続しているDBの操作に使ったり、アプリのログイン認証の仕組みに使用したらするらしい。

settings.py

最近のバージョンでデフォルトのまま使用している場合は既に設定されているはず。
settings.pyINSTALLED_APPSに以下のようにdjango.contribが含まれていることを確認する。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]
スーパユーザ(管理者ユーザ)の作成

初期状態だと、ユーザが作成されておらずツールにログインできないので管理者ユーザを作成しておく。

・管理者ユーザ作成コマンド

python manage.py createsuperuser

・実行例

PS C:\Users\wanta\Desktop\dev\django_pj\form_pj> python manage.py createsuperuser
Username (leave blank to use 'wanta'): wantan
Email address: wantan@test.com
Password: 
Password (again): 
The password is too similar to the username.
This password is too short. It must contain at least 8 characters.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.
管理ツールにログイン

サーバを起動して管理ツールにログインする。

・サーバ起動コマンド

python .\manage.py runserver

サーバ起動したら任意のブラウザからサーバURLにアクセスする。
管理ツールはデフォルトだと以下のようなURLになっているはず。
http://localhost:8000/admin

先ほど登録した管理者ユーザでログインする。

管理テーブルを追加する

管理ツールからはDjangoから接続するDBのテーブルも管理することができますが、デフォルトだと管理対象になっていないため追加します。

admin.pyに対して、対象モデルインポートと、以下記述を追加する

admin.site.register([テーブル名])

・設定例

from django.contrib import admin
from .models import test_emps
# Register your models here.
admin.site.register(test_emps)

アプリを再起動し、管理ツールから確認する。
#名称がTest_empssになってしまっていてダサい。。。

データの追加・編集なども可能。

触ってはみたものの、テーブルデータ管理ぐらいであれば、DB接続ツールを使用した方が使い勝手は良さそう。
認証などを行う際には有用になるのだろうか。

■参考ページ
Django 管理画面の利用 - Django 入門 - Python 入門
Djangoの管理管理ツール