连接到数据库
修改设置
为了让 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'
}
}
.
注意:你的项目的值将有所不同。
引擎?
正如你在 settings.py
文件中看到的,我们插入 postgresql
而不是 sqlite
。
名称?
数据库没有名称,但你必须分配一个名称才能访问数据库。
如果没有给出名称,提供程序会接受 'postgres'
作为数据库的名称。
用户名和密码?
插入你在创建数据库时指定的用户名和密码。
主机?端口?
正如你在 settings.py
文件中看到的,我们插入 postgresql
而不是 sqlite
,并插入我们在创建数据库时指定的用户名和密码。
可以在 RDS 实例的“连接性和安全性”部分找到 HOST
和 PORT
。它们被描述为“端点”和“端口”。
在我的项目中,它是
'HOST': 'w3-django-project.cdxmgq9zqqlr.us-east-1.rds.amazonaws.com'
'PORT': '5432'
迁移
在对 settings.py
进行更改后,我们必须在虚拟环境中运行迁移,更改才会生效
py manage.py migrate
这将给你以下结果
要执行的操作
应用所有迁移:admin、auth、contenttypes、members、sessions
正在运行迁移
正在应用 contenttypes.0001_initial... OK
正在应用 auth.0001_initial... OK
正在应用 admin.0001_initial... OK
正在应用 admin.0002_logentry_remove_auto_add... OK
正在应用 admin.0003_logentry_add_action_flag_choices... OK
正在应用 contenttypes.0002_remove_content_type_name... OK
正在应用 auth.0002_alter_permission_name_max_length... OK
正在应用 auth.0003_alter_user_email_max_length... OK
正在应用 auth.0004_alter_user_username_opts... OK
正在应用 auth.0005_alter_user_last_login_null... OK
正在应用 auth.0006_require_contenttypes_0002... OK
正在应用 auth.0007_alter_validators_add_error_messages... OK
正在应用 auth.0008_alter_user_username_max_length... OK
正在应用 auth.0009_alter_user_last_name_max_length... OK
正在应用 auth.0010_alter_group_name_max_length... OK
正在应用 auth.0011_update_proxy_permissions... OK
正在应用 auth.0012_alter_user_first_name_max_length... OK
正在应用 members.0001_initial... OK
正在应用 members.0002_members_delete_member... OK
正在应用 members.0003_rename_members_member... OK
正在应用 sessions.0001_initial... OK
现在,如果你运行项目
py manage.py runserver
并在浏览器中查看: 127.0.0.1:8000/
。
你将获得项目的首页,但如果你点击“成员”链接,你会发现没有成员。
这是因为数据库是空的。在下一章中,我们将用成员填充数据库。