ユーザーを管理画面で操作できるようにします。
表示を見やすいようにカスタマイズしています。
管理画面からもユーザーが登録できるようになります。
accounts/admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth import get_user_model
User = get_user_model()
class UserAdminCustom(UserAdmin):
# ユーザー詳細
fieldsets = (
(None, {
'fields': (
'name',
'email',
'password',
'is_active',
'is_staff',
'is_superuser',
)
}),
)
# ユーザー追加
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': (
'name',
'email',
'password1',
'password2',
'is_active',
'is_staff',
'is_superuser',
),
}),
)
# ユーザー一覧
list_display = (
'id',
'name',
'email',
'is_active',
)
list_filter = ()
# 検索
search_fields = ('email',)
# 順番
ordering = ('id',)
admin.site.register(User, UserAdminCustom)
データベース構築
モデルを変更したら、下記コマンドで必ずデータベースの構築が必要になります。
(myvenv) ~$ python3 manage.py makemigrations
(myvenv) ~$ python3 manage.py migrate
管理者作成
管理者を作成します。
(myvenv) ~$ python3 manage.py createsuperuser