Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

连接到数据库


修改设置

为了让 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 实例的“连接性和安全性”部分找到 HOSTPORT。它们被描述为“端点”和“端口”。

在我的项目中,它是

'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/

你将获得项目的首页,但如果你点击“成员”链接,你会发现没有成员。

这是因为数据库是空的。在下一章中,我们将用成员填充数据库。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.