【问题标题】:Connect django web app to postgresql in gcloud将 django web 应用程序连接到 gcloud 中的 postgresql
【发布时间】:2019-10-16 10:01:37
【问题描述】:

我一直在努力将我的 django Web 应用程序连接到一个 PostgreSQL 实例,我在我的 gcloud 帐户中设置了该实例以进行测试。

我在 Django 的 settings.py 中完成了以下数据库配置:

    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'instance connection name from gcloud',
        'USER' : 'postgres',
        'PASSWORD': 'passsss',
        'HOST': 'ip-address',
        'PORT': '5432',
    }
}

尝试迁移后我在 Django 中收到的错误是:

django.db.utils.OperationalError: FATAL: database "..instance connection name from gcloud.." does not exist

我尝试创建一个新数据库“django”并将其添加到名称中:。这也不起作用。我还在 gcloud 连接中将我自己的计算机 IP 配置为授权网络

通常,如果我使用像大象sql这样的服务,它会正常工作。

任何帮助将不胜感激。谢谢!

【问题讨论】:

标签: django python-3.x postgresql gcloud


【解决方案1】:

我从您的帖子中了解到,您希望从本地电脑连接到 Cloud SQL PostgreSQL 实例。

我看到您似乎已经在关注官方文档,因为您提到您将 IP 添加到授权网络以便能够进行外部连接。

您的错误原因似乎是由于 NAME 参数的格式。

你是用这种格式传的吗?

项目:区域:实例名称

Here 您拥有所有可用的选项来了解如何从外部连接到 Cloud PostgreSQL 实例。

here 您拥有将外部应用程序连接到 Cloud SQL PostgreSQL 实例的要求文档。

【讨论】:

  • 对,这是我使用的格式。从文档中我决定通过外部 IP 连接。它的安全性较低,但对开发人员来说还可以。此外,我还可以从 GUI pgadmin 连接到实例。我相信,我的问题肯定是 Django 配置。
【解决方案2】:

好吧,经过大量研究和浪费几个小时后,我终于在数字海洋文档中找到了 Django 配置……很奇怪

这行得通:

'''
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'my_django_db',
        'USER' : 'user1',
        'PASSWORD': 'pass',
        'HOST': 'ipv4',
        'PORT': '',
    }
}
'''

【讨论】:

    猜你喜欢
    • 2016-08-18
    • 1970-01-01
    • 2013-06-05
    • 2020-11-03
    • 2016-01-02
    • 1970-01-01
    • 2017-07-07
    • 2011-08-24
    • 1970-01-01
    相关资源
    最近更新 更多