なので User モデルを参照する必要がある場合は django.contrib.auth.get_user_model() を使用する必要があります。
# account/admin.py
from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from .models import User # models.py のカスタム User をインポート
admin.site.register(User, UserAdmin)
マイグレーション
まず、新たに作成した「account」アプリケーションのマイグレーションを作成します。
% python manage.py makemigrations account
Migrations for 'account':
account/migrations/0001_initial.py
- Create model User
マイグレーションを実行します。
% python manage.py migrate
Operations to perform:
Apply all migrations: account, admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0001_initial... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying auth.0012_alter_user_first_name_max_length... OK
Applying account.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying sessions.0001_initial... OK
# views.py
class ClassList(LoginRequiredMixin, generic.ListView):
model = ClassMaster
template_name = 'class_list.html'
class ClubList(LoginRequiredMixin, generic.ListView):
model = ClubMaster
template_name = 'club_list.html'
# forms.py
from django.contrib.auth.models import User
from django.contrib.auth.forms import AuthenticationForm
class LoginForm(AuthenticationForm):
class Meta:
model = User
fields = ['username', 'password']
"If called via POST with user submitted credentials, it tries to log the user in. If login is successful, the view redirects to the URL specified in next. If next isn’t provided, it redirects to settings.LOGIN_REDIRECT_URL (which defaults to /accounts/profile/). If login isn’t successful, it redisplays the login form."