Google App Engineにdjango-backendを使用してWebサイトをデプロイします。私は彼らのtutorialに従った。私はMySQLを使用して私のローカルサーバー上でWebサイトを実行し、それは完全に実行されます。 はGoogle App Engine上で、それを展開するとき、それは私に次のエラーを与える:ここでGoogle App Engine Django:デプロイ後にGoogleクラウドSQLで表が作成されない
は私のapp.yamlである:ここでは
# [START django_app]
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /static
static_dir: static/
- url: .*
script: wt.wsgi.application
# Only pure Python libraries can be vendored
# Python libraries that use C extensions can
# only be included if they are part of the App Engine SDK
# Using Third Party Libraries: https://cloud.google.com/appengine/docs/python/tools/using-libraries-python-27
libraries:
- name: MySQLdb
version: 1.2.5
- name: django
version: "1.11"
env_variables:
CLOUDSQL_CONNECTION_NAME: 'copied perfectly from google cloud sql instance'
CLOUDSQL_USER: username
CLOUDSQL_PASSWORD: password
# [END django_app]
# Google App Engine limits application deployments to 10,000 uploaded files per
# version. The skip_files section allows us to skip virtual environment files
# to meet this requirement. The first 5 are the default regular expressions to
# skip, while the last one is for all env/ files.
skip_files:
- ^(.*/)?#.*#$
- ^(.*/)?.*~$
- ^(.*/)?.*\.py[co]$
- ^(.*/)?.*/RCS/.*$
- ^(.*/)?\..*$
- ^env/.*$
は私のsettings.pyです:
if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'database_name',
'USER': 'user_name',
'PASSWORD': 'password',
'HOST': '/cloudsql/copied perfectly from google cloud sql instance',
}
}
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'HOST': '127.0.0.1',
'PORT': '3306',
'NAME': 'database_name',
'USER': 'username',
'PASSWORD': 'password',
}
}
親切に私を助けてください。私のモデルやテーブルがGoogle App Engineで利用できない理由はわかりません。前もって感謝します!
'cloud_sql_proxy.exe -instances =" [YOUR_INSTANCE_CONNECTION_NAME] "= tcp:3306' "この手順では、ローカルコンピュータからローカルのCloud SQLインスタンスへの接続を確立しますクラウドSQLプロキシは、アプリケーションをローカルでテストするたびに実行されるようにしてください。 アプリケーションをローカルでテストする必要がある場合のみ、Cloud SQLプロキシを使用する必要があると言います。 – Maverick7
ありがとうございます!あなたは正しかった! Googleはドキュメントをより明確にする必要があります... – Maverick7