7

我正在使用Google Cloud和Google App Engine评估我们公司的新产品。我试着去适应这个教程,而不是使用MySQL的Postgres的:将Django连接到Google CloudSQL时在PostgreSQL数据库连接时出错

https://cloud.google.com/python/django/flexible-environment

虽然我能够成功连接到数据库在本地,当我尝试在生产中,我得到以下500错误:

OperationalError at /admin/login/ 
    could not connect to server: No such file or directory 
Is the server running locally and accepting 
connections on Unix domain socket "/cloudsql/<project_name_hidden>:us-central1:<database_id_hidden>/.s.PGSQL.5432"? 

要连接到Postgres,我对示例项目做了三处更改。我有这样的片段在app.yaml中:

beta_settings: 
    cloud_sql_instances: <project_name_hidden>:us-central1:<database_id_hidden> 

我有这样的片段在settings.py:

# [START dbconfig] 
DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'NAME': 'polls', 
     'USER': '<db_user_name_hidden>', 
     'PASSWORD': '<db_password_hidden>', 
     'PORT': '5432', 
    } 
} 
# In the flexible environment, you connect to CloudSQL using a unix socket. 
# Locally, you can use the CloudSQL proxy to proxy a localhost connection 
# to the instance 
DATABASES['default']['HOST'] = '/cloudsql/<project_name_hidden>:us-central1:<database_id_hidden>' 
if os.getenv('GAE_INSTANCE'): 
    pass 
else: 
    DATABASES['default']['HOST'] = '127.0.0.1' 
# [END dbconfig] 

,并有此requirements.py:

Django==1.10.6 
#mysqlclient==1.3.10 
psycopg2==2.7.1 
wheel==0.29.0 
gunicorn==19.7.0 
+1

得到相同的错误。还没有找到任何解决方案。我在github上创建了一个问题:https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870 –

回答

5

没关系,似乎就像谷歌在他们的最终解决方案中所做的那样,该服务正在运行。我试图找出究竟发生了什么变化......

相关问题