Python Can';无法在Heroku上使用Django/Postgres应用程序设置
我正在用两勺Django模板制作一个Django应用程序。收到这个Heroku错误,我的Postgres制作设置关闭了吗Python Can';无法在Heroku上使用Django/Postgres应用程序设置,python,django,postgresql,heroku,Python,Django,Postgresql,Heroku,我正在用两勺Django模板制作一个Django应用程序。收到这个Heroku错误,我的Postgres制作设置关闭了吗 操作错误/ 无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口5432上的TCP/IP连接 异常位置:/app/.heroku/python/lib/python2.7/site packages/psycopg2/\uuuu init\uuuuu.py 工头开始工作很好 Procfile:web:python ww
- 操作错误/ 无法连接到服务器:连接被拒绝 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口5432上的TCP/IP连接
- 异常位置:
/app/.heroku/python/lib/python2.7/site packages/psycopg2/\uuuu init\uuuuu.py
- 工头开始工作很好
- Procfile:
web:python www\u dev/manage.py runserver 0.0.0.0:$PORT--noreload
- local.py设置: 数据库={ “默认值”:{ “引擎”:“django.db.backends.postgresql_psycopg2”, “名称”:“www”, 'USER':'amyrlam', “密码”:“*”, '主机':'本地主机', “端口”:“5432”, } }
- production.py设置:从上面注释掉本地设置,添加了标准Heroku Django内容: 导入dj_数据库_url DATABASES['default']=dj_database_url.config() SECURE_PROXY_SSL_HEADER=('HTTP_X_FORWARDED_PROTO','https') 允许的_主机=['*'] 导入操作系统 BASE_DIR=os.path.dirname(os.path.abspath(文件) STATIC\u ROOT='staticfiles' 静态URL='/STATIC/' 静态文件\u目录=( join(BASE_DIR,'static'), )
- 更新:生产设置,已尝试更改:
(名为my Heroku color URL to DATABASE_URL,与Heroku config中的链接相同)您是否设置了DJANGO_SETTINGS_MODULE环境变量?我相信发生的事情是这样的:默认情况下,Django使用的是您的
local.py
设置,这就是它试图在localhost上连接的原因
要使Django检测并使用您的production.py
设置,您需要执行以下操作:
heroku config:set DJANGO\u SETTINGS\u MODULE=SETTINGS.production
这将使Django在您使用Heroku时加载您的production.py设置:)非常感谢,这对我很有用。在wsgi.py和manage.py中,我明确地将DJANGO_SETTINGS_模块称为myprojectname.SETTINGS.production。要在本地运行,我运行
python manage.py runserver--settings=myprojectname.settings.local
。这看起来是一个不错的工作流程吗?是的,很好!这是最佳实践:)