django, python

djangoのadmin機能

前回までで、djangoプロジェクトの作成、docker化&DB連携までやりました。

今回はadmin機能を利用してみます。

$ docker-compose run web python manage.py createsuperuser

以下のように対話的にユーザー名、メールアドレス、パスワードを設定します。

Username (leave blank to use 'root'): admin
Email address: admin@example.com
Password: 
Password (again): 
The password is too similar to the username.
This password is too short. It must contain at least 8 characters.
This password is too common.
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

パスワードは8文字に満たないと上のように警告が出るようです(上の例ではパスワードもadminにしました)。

これでdocker-compose upで起動してhttp://loclalhost:8000/admin/にアクセス(初めにこのパスでadminへのルーティング設定をしたので)すると、adminコンソールに上記ユーザー/パスワードでログインできます。

django.contrib.authアプリがデフォルトで入っているため、以下のようにgroupsusersという編集可能項目が表示されるはずです。

モデルをadminで編集可能にする

自分で作ったモデルもadminコンソール上で編集できるようにしてみます。そのために、polls/admin.pyを編集します。

admin.py

from django.contrib import admin

from .models import Question, Choice

admin.site.register(Question)
admin.site.register(Choice)

このようにモデルをadminに登録するだけで、操作インターフェイスを生成してadminページで編集可能になります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です