[申請承認アプリ]初期設定の続き(カスタムユーザーの準備)

基本的な初期設定は前回で終わりましたが、今回のアプリではユーザーごとに申し込みしたセミナーを確認できたり、上司に承認依頼を出せるようにしたいと思っています。この場合、ユーザー情報に上司の情報をいれる必要があるため、django標準で用意されているUserモデルでは対応できず、カスタムユーザーを作成する必要があります。

カスタムユーザーを使用する場合は初回のmigrationよりも前に、関連するコードを作っておく必要があるので注意してください。

今回はユーザー認証関係を別のアプリで管理したいと思いますので、accountアプリを作成します。

python manage.py startapp account

次に、settings.pyのinstalled_appにaccountを追加します。

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'account',   #追加
]

また、同じくsettings.pyのどこでも構いませんが、下記の設定を追記します。

AUTH_USER_MODEL = 'account.User'

続いてaccountのmodels.pyを下記のように編集します。

from django.contrib.auth.models import AbstractUser

class User(AbstractUser):
	pass

ここではまだ何もカスタマイズはせずに、django標準のAbstractUserをそのまま使っています。

新しくモデルを追加したので、続いて管理画面で編集できるようにadmin.pyで登録します。

from django.contrib.auth.admin import UserAdmin
from .models import User

admin.site.register(User, UserAdmin)

これでコマンドプロンプトでマイグレーションとサーバーの起動をしてみましょう。

python manage.py makemigrations
python manage.py migrate
python manage.py runserver

どうでしょうか?ちゃんと表示されましたか?

続いて管理画面に入れるように管理ユーザーを登録しておきましょう。

python manage.py createsuperuser

idとパスワードを聞かれますので入力していくと、登録完了です。

念のため再度runserverをして管理画面に入ってみましょう。

管理画面にはhttp://127.0.0.1:8000/admin/で入れますので、ここで先程設定したidとパスワードを入れてください。

ちゃんと入れれば完了です。

コメントを残す

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