我分别托管数据库和 Django 应用程序服务器。
我有一个 Google Cloud SQL (PostgreSQL),但我尝试了很多方法将数据库配置为 Django 文档
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'HOST': '[Your-Cloud-SQL-Public-IP]',
'USER': '[YOUR-USERNAME]',
'PASSWORD': '[YOUR-PASSWORD]',
'NAME': '[YOUR-DATABASE]',
}
}
用我的凭据填写但无法连接,出现如下错误:
line 729, in connect
raise ex.with_traceback(None)
django.db.utils.OperationalError: connection failed: could not receive data from server: Socket is not connected (0x00002749/10057)
could not send SSL negotiation packet: Socket is not connected (0x00002749/10057)
专家请帮助我使其发挥作用。
我正在寻找使用 Google Cloud SQL 配置 Django 项目的指南。
对于公共 IP,您需要将 Django 应用程序的 IP 地址添加为 Cloud SQL 实例的“授权网络”。 对于私有 IP,如果您在 VPC 网络中部署 Django 应用程序,则上述示例应按您的
settings.py
文件中的方式工作:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '[Your-Cloud-SQL-Private-IP]',
'USER': '[YOUR-USERNAME]',
'PASSWORD': '[YOUR-PASSWORD]',
'NAME': '[YOUR-DATABASE]',
'SSLMODE': 'require'
}
}