gpt4 book ai didi

python - 如何在 OpenShift 中将 MySQL Cartridge 连接到 Django

转载 作者:行者123 更新时间:2023-11-29 11:53:04 26 4
gpt4 key购买 nike

我已在 OpenShift 中安装了 django 1.8.4/Python 3.3 应用程序,并添加了 MySQL 5.5 卡带。现在我想让django使用MySQL而不是sqlite3。为此,我将 setup.py 从

更改为
install_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'

我做错了什么?

谢谢

贾斯珀

最佳答案

正如错误消息所示,OPENSHIFT_DB_HOST 似乎不是正确的环境变量。尝试使用OPENSHIFT_MYSQL_DB_HOST(对于其他变量也包含数据库类型_MYSQL)。

您实际上也可以使用用户名和密码变量,详细信息如下: https://developers.openshift.com/en/managing-environment-variables.html#database-variables

关于python - 如何在 OpenShift 中将 MySQL Cartridge 连接到 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33688267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com