本文共 1912 字,大约阅读时间需要 6 分钟。
python2.7
GAE Django1.5将开发的Table反映到Google的数据库上。
然后上传到GAE生产环境时,可以正常使用数据库。import osif os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'): # Running on production App Engine, so use a Google Cloud SQL database. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': '/cloudsql/your-project-id:your-instance-name', 'NAME': 'django_test', 'USER': 'root', } }elif os.getenv('SETTINGS_MODE') == 'prod': # Running in development, but want to access the Google Cloud SQL instance # in production. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'INSTANCE': 'your-instance-ip-address', 'NAME': 'django_test', 'USER': 'root', 'PASSWORD': 'password', } }else: # Running in development, so use a local MySQL database. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'django_test', 'USER': 'root', 'PASSWORD': 'password', } }
其中第一段为在GAE服务器端的连接GAE数据库的执行代码。
第二段为本地直接连接到GAE数据库的代码。 第三段为本地连接本地数据库的代码。 下面具体设置第二段elif os.getenv('SETTINGS_MODE') == 'prod': # Running in development, but want to access the Google Cloud SQL instance # in production. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'HOST': 'your-instance-ip-address', <- 关键字为HOST,设为数据库所在的IP地址 'NAME': 'django_test', <- 数据库名,需要在GAE上添加完毕 'USER': 'root', <- 在GAE上设置完毕可以从本地访问的用户 'PASSWORD': 'password', <- 密码 } }
执行完毕后,显示产生各个Table,将Django的Model反映到GAE的数据库上,
即可以现在使用GAE的数据库了。 上传到GAE服务器后,第一种方式也是可以正常使用了。转载地址:http://fgmxi.baihongyu.com/