【发布时间】:2016-02-14 18:29:30
【问题描述】:
我在 OpenShift 中安装了 django 1.8.4/Python 3.3 应用程序,并添加了一个 MySQL 5.5 墨盒。现在我想让 django 使用 MySQL 而不是 sqlite3。为此,我从
更改了 setup.pyinstall_requires=[
'Django==1.8.4'
],
到
install_requires=[
'Django==1.8.4',
'mysqlclient'
],
我将 wsgi/myproject/myproject/settings.py 从
DATABASES = {
'default': {
# GETTING-STARTED: change 'db.sqlite3' to your sqlite3 database:
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(DATA_DIR, 'db.sqlite3'),
}
}
到
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mysql_db_name',
'USER': 'mysql_username',
'PASSWORD': 'xxxxxx',
'HOST': os.environ['OPENSHIFT_DB_HOST'],
'PORT': os.environ['OPENSHIFT_DB_PORT'],
}
}
当我 git push 到 OpenShift 时,我收到以下错误:
remote: Executing 'python /var/lib/openshift/5642f9ad7628e16a6300030a/app-root/runtime/repo//wsgi/myproject/manage.py migrate --noinput'
remote: Traceback (most recent call last):
remote: File "/opt/rh/python33/root/usr/lib64/python3.3/os.py", line 673, in __getitem__
remote: value = self._data[self.encodekey(key)]
remote: KeyError: b'OPENSHIFT_DB_HOST'
我做错了什么?
谢谢,
碧玉
【问题讨论】:
标签: python mysql django configuration openshift