【发布时间】:2013-01-05 08:03:09
【问题描述】:
我创建了一个production_settings.py,在其中放置了所有生产环境变量和值,例如:
import dj_database_url
DATABASES['default'] = dj_database_url.config()
我想我会声明一个像
这样的环境变量MYPROJECT_PRODUCTION
然后像这样设置
heroku config:add MYPROJECT_PRODUCTION=True 或 export MYPROJECT_PRODUCTION=True
在settings.py(这是django默认创建的)中,我想我会在文件末尾添加
import os
if os.environ.has_key('MYPROJECT_PRODUCTION') and os.environ.get('MYPROJECT_PRODUCTION')=='True':
from production_settings import *
这是正确的做法吗?
我在尝试python manage shell时遇到导入错误
export DJANGO_SETTINGS_MODULE='myproject.settings'
export MYPROJECT_PRODUCTION=True
me@ubuntu:~/dev/python/django/myproject$ python manage.py shell
Error: Can't find the file 'settings.py' in the directory containing 'manage.py'. It appears you've customized things.
You'll have to run django-admin.py, passing it your settings module.
(If the file settings.py does indeed exist, it's causing an ImportError somehow.)
manage.py 与settings.py 存在于同一文件夹中..仍然出现错误。
我检查了echo $MYPROJECT_PRODUCTION 输出True
【问题讨论】:
-
添加了 Heroku 标签,因为对我来说你的解决方案看起来不错,也许其他人在 heroku 上使用 django 可以回答你的问题。
-
你能打印出你的应用的目录结构吗
标签: python django heroku production