菜单
×
   ❮   
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'
    }
}
.

注意:您的项目的值会有所不同。


Engine?

正如您在 settings.py 文件中看到的,我们将 postgresql 替换了 sqlite


Name?

数据库没有名称,但您必须为其指定一个才能访问数据库。

如果未给出名称,提供商将接受 'postgres' 作为数据库名称。


Username and Password?

输入您在创建数据库时指定的用户名和密码。


Host? Port?

正如您在 settings.py 文件中看到的,我们插入了 postgresql 而不是 sqlite,并插入了我们在创建数据库时指定的用户名和密码。

在 RDS 实例的“连接和安全”部分下可以找到 HOSTPORT。它们被描述为“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”链接,您会发现没有任何成员。

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


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持