我正在用Django模板的兩勺製作Django應用程序。獲取這個Heroku錯誤,我的Postgres生產設置關閉了嗎?無法在Heroku上運行Django/Postgres應用程序設置
- OperationalError在/ 無法連接到服務器:連接被拒絕 是在主機「本地主機」(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設置:
數據庫= { '默認':{ 的 '發動機':「Django的。 db.backends.postgresql_psycopg2' , 'NAME': 'WWW', 'USER': 'amyrlam', '密碼': '*', 'HOST': '本地主機', '端口': '5432', }}
production.py設置:從上面註釋掉的本地設置,添加標準Heroku的Django的東西:
進口dj_database_url DATABASES [ '缺省'] = dj_database_url.config()
SECURE_PROXY_SSL_HEADER =( 'HTTP_X_FORWARDED_PROTO', 'https' 時)
ALLOWED_HOSTS = [ '*']
個進口OS BASE_DIR = os.path.dirname(os.path.abspath則(文件)) STATIC_ROOT = 'staticfiles' STATIC_URL = '/靜態/'
STATICFILES_DIRS =( os.path中。加入(BASE_DIR, '靜態'), )
UPDATE:生產設置,試圖改變:
進口dj_database_url 個資料庫[ '默認'] = dj_database_url.config(默認值= os.environ [ 「DATABASE_URL」])
(命名爲我的Heroku色網址DATABASE_URL,在Heroku的配置相同的鏈路)
非常感謝,這對我工作。在wsgi.py和manage.py中,我明確提到了DJANGO_SETTINGS_MODULE作爲myprojectname.settings.production。爲了在本地運行,我運行'python manage.py runserver --settings = myprojectname.settings.local'。這看起來像一個好的工作流程? –
是的,那很好!這是最好的做法:) – rdegges
謝謝@ rdegges! –