Djangoを正常にログインした後は、管理画面へのログインを実施します。
初期の状態では、ログインユーザーが作成されていないので、Django起動後は管理ユーザーのID・パスワードを作成します。
今回は、Django管理画面のログインユーザー作成の方法をまとめました。
Django+pstgresSQLのDockerコンテナでの起動手順は以下を参考にしてください。
「Django」管理画面へのログインユーザーを作成する方法
Django管理画面へのログインユーザーの作成は以下のコマンドを実行します。
Windows
$ python manage.py createsuperuser
MacOS or LinuxOS
$ python3 manage.py createsuperuser
実際にコマンドを叩くと、ユーザーネームの作成、パスワードの作成(確認を含め2回実行)をします。
最後に、「successfully.」となればログインユーザーの作成完了となります。
$ python3 manage.py createsuperuser Username (leave blank to use 'root'): admin Email address: test@gmail.com Password: Password (again): Superuser created successfully. $
Django管理画面にアクセス
上記でログイン画面のユーザーIDを作成したら実際に、Djangoへのログインをしてみます。
作成したユーザーIDでログインできると以下のような画面に切り替われば成功です。
Djangoユーザー作成時にエラーが発生した場合
Django管理ユーザー作成時に以下のようなエラーが発生する場合があります。
$ python3 manage.py createsuperuser You have 17 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. Run 'python manage.py migrate' to apply them. Traceback (most recent call last): File "/usr/local/lib/python3.6/site-packages/django/db/backends/utils.py", line 86, in _execute return self.cursor.execute(sql, params) psycopg2.errors.UndefinedTable: relation "auth_user" does not exist LINE 1: ...user"."is_active", "auth_user"."date_joined" FROM "auth_user... ^ The above exception was the direct cause of the following exception: ----中略 django.db.utils.ProgrammingError: relation "auth_user" does not exist LINE 1: ...user"."is_active", "auth_user"."date_joined" FROM "auth_user... ^ $
原因はデータベースの同期が取れていないことが原因のようです。
対処法は簡単です。
「migrate」コマンドを実行し、データベースを一度同期させることで事象は解消されます。
$ python3 manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK Applying auth.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 contenttypes.0002_remove_content_type_name... 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 sessions.0001_initial... OK $
「migrate」コマンドが成功すれば再度、ログインユーザーを作成してください。
また、dockerコンテナでDjangoを起動させた方は、別途「Django」をインストールして、「migrate」コマンドを実行しましょう。
$ pip install django
Django管理アクセスユーザーの作成は以上となります。
サーバーを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す