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
得到相同的錯誤。還沒有找到任何解決方案。我在github上創建了一個問題:https://github.com/GoogleCloudPlatform/python-docs-samples/issues/870 –