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

沒關係,似乎就像谷歌在他們的最終解決方案中所做的那樣,該服務正在運行。我試圖找出究竟發生了什麼變化......