TECH I.S.

データベース接続


設定の変更

Djangoでデータベース接続できるようにするには、settings.pyファイルのDATABASESタプルでデータベースを指定する必要があります。

以前はこのような感じでした。:

SQLite

my_tennis_club/my_tennis_club/settings.py:
. . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } .

ここでは、次のように変更する必要があります。

PostgreSQL

my_tennis_club/my_tennis_club/settings.py:
. . DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'masteruser', 'PASSWORD': '12345678', 'HOST': 'techis-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com', 'PORT': '5432' } } .

注:値はプロジェクトによって異なります。


エンジンとは?

ファイルを見るとわかるようにsettings.pypostgresqlの代わりにsqliteを挿入します。


名前は?

データベースには名前がありませんが、データベースにアクセスするには名前を割り当てる必要があります。

名前が指定されていない場合、プロバイダーは'postgres'データベースの名前として受け入れます。


ユーザー名とパスワード?

データベースの作成時に指定したユーザー名とパスワードを挿入します。


ホスト?ポート?

settings.pyファイルでわかるように、sqliteの代わりにpostgresqlを挿入し、データベースの作成時に指定したユーザー名とパスワードを挿入します。

およびHOSTは、PORTRDSインスタンスの「接続とセキュリティ」セクションにあります。これらは「エンドポイント」および「ポート」として説明されます。

今回のプロジェクトでは次のとおりとなります。

'HOST': 'techis-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com''PORT': '5432'

移行する

settings.pyで変更を行ったら、変更を適用する前に、仮想環境で移行を実行する必要があります。
py manage.py migrate

これにより、次の結果が得られます。

Operations to perform:   Apply all migrations: admin, auth, contenttypes, members, 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 auth.0012_alter_user_first_name_max_length... OK   Applying members.0001_initial... OK   Applying members.0002_members_delete_member... OK   Applying members.0003_rename_members_member... OK   Applying sessions.0001_initial... OK

ここでプロジェクトを実行すると、次のようになります。

py manage.py runserver

ブラウザ127.0.0.1:8000/で表示します。

プロジェクトのホームページが表示されますが、「メンバー」リンクをクリックすると、メンバーがいないことがわかります。

それはデータベースが空であるためです。次の章では、データベースにメンバーを入力します。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細