我正在使用Django模板的两个Scoops创建一个Django应用程序。得到这个Heroku错误,我的Postgres生产设置关闭了吗?
/app/.heroku/python/lib/python2.7/site-packages/psycopg2/__init__.py
web: python www_dev/manage.py runserver 0.0.0.0:$PORT --noreload
local.py设置:
DATABASES = { '默认':{ ' ENGINE':' django.db.backends.postgresql_psycopg2', ' NAME':' www', '用户':' amyrlam', ' PASSWORD':' * ', ' HOST':' localhost', ' PORT':' 5432', } }
production.py设置:从上面注释掉本地设置,添加了标准的Heroku Django东西:
导入dj_database_url DATABASES ['默认'] = dj_database_url.config()
SECURE_PROXY_SSL_HEADER =(' HTTP_X_FORWARDED_PROTO',' https')
ALLOWED_HOSTS = [' *']
导入操作系统 BASE_DIR = os.path.dirname(os.path.abspath( file )) STATIC_ROOT ='静态文件' STATIC_URL =' / static /'
STATICFILES_DIRS =( os.path.join(BASE_DIR,'静态'), )
更新:生产设置,尝试更改:
导入dj_database_url DATABASES ['默认'] = dj_database_url.config(默认= os.environ [" DATABASE_URL"])
(将我的Heroku颜色URL命名为DATABASE_URL,heroku配置中的相同链接)
答案 0 :(得分:3)
您是否设置了DJANGO_SETTINGS_MODULE环境变量?我相信发生的事情是这样的:默认情况下,Django正在使用您的local.py
设置,这就是它尝试在localhost上连接的原因。
要让Django检测并使用您的production.py
设置,您需要执行以下操作:
heroku config:set DJANGO_SETTINGS_MODULE=settings.production
这将使Django在您使用Heroku时加载您的production.py设置:)