連線到資料庫
修改設定
要使 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': 'w3-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com',
'PORT': '5432'
}
}
.
注意:您的專案的值會有所不同。
Engine?
正如您在 settings.py
檔案中看到的,我們將 postgresql
替換了 sqlite
。
Name?
資料庫沒有名稱,但您必須為其指定一個才能訪問資料庫。
如果未給出名稱,提供商將接受 'postgres'
作為資料庫名稱。
Username and Password?
輸入您在建立資料庫時指定的使用者名稱和密碼。
Host? Port?
正如您在 settings.py
檔案中看到的,我們插入了 postgresql
而不是 sqlite
,並插入了我們在建立資料庫時指定的使用者名稱和密碼。
在 RDS 例項的“連線和安全”部分下可以找到 HOST
和 PORT
。它們被描述為“Endpoint”和“Port”。
對於我的專案,它如下所示:
'HOST': 'w3-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com'
'PORT': '5432'
Migrate
在 settings.py
中完成更改後,我們必須在虛擬環境中執行遷移,然後更改才會生效。
py manage.py migrate
這將產生以下結果:
要執行的操作
應用所有遷移:admin, auth, contenttypes, members, sessions
正在執行遷移
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/
。
您將看到專案的首頁,但如果您單擊“members”連結,您會發現沒有任何成員。
這是因為資料庫是空的。在 下一章 中,我們將填充資料庫成員。