繁体   English   中英

无法在Heroku上运行Django / Postgres应用程序设置

[英]Can't get Django/Postgres app settings working on Heroku

我正在使用Django模板的两个Scoops创建一个Django应用程序。 得到这个Heroku错误,我的Postgres生产设置关闭了吗?

  • 在/无法连接到服务器的OperationalError:连接被拒绝服务器是否在主机“localhost”(127.0.0.1)上运行并接受端口5432上的TCP / IP连接?
  • 例外位置: /app/.heroku/python/lib/python2.7/site-packages/psycopg2/__init__.py
  • 工头开始工作正常
  • Procfile: web: python www_dev/manage.py runserver 0.0.0.0:$PORT --noreload
  • local.py设置:

    DATABASES = {'default':{'ENGINE':'django.db.backends.postgresql_psycopg2','NAME':'www','USER':'amyrlam','PASSWORD':' * ','HOST': 'localhost','PORT':'5432',}}

  • production.py设置:从上面注释掉本地设置,添加了标准的Heroku Django东西:

    import dj_database_url DATABASES ['default'] = dj_database_url.config()

    SECURE_PROXY_SSL_HEADER =('HTTP_X_FORWARDED_PROTO','https')

    ALLOWED_HOSTS = ['*']

    import os BASE_DIR = os.path.dirname(os.path.abspath( file ))STATIC_ROOT ='staticfiles'STATIC_URL ='/ static /'

    STATICFILES_DIRS =(os.path.join(BASE_DIR,'static'),)

  • 更新:生产设置,尝试更改:

import dj_database_url DATABASES ['default'] = dj_database_url.config(default = os.environ [“DATABASE_URL”])

(将我的Heroku颜色URL命名为DATABASE_URL,heroku配置中的相同链接)

您是否设置了DJANGO_SETTINGS_MODULE环境变量? 我相信发生的事情是这样的:默认情况下Django正在使用你的local.py设置,这就是为什么它试图在localhost上连接。

要使Django检测并使用您的production.py设置,您需要执行以下操作:

heroku config:set DJANGO_SETTINGS_MODULE=settings.production

当你在Heroku上时,这将使Django加载你的production.py设置:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM