2012-06-18 50 views
1

我想在Heroku上的Django,繼official tutorial,並停留在creating celery and kombu tables locally步驟中使用python manage.py syncdb,得到如下錯誤:的Heroku + Django的:無法找到配置本地瓦爾

文件「/我的/虛擬/路/ django/db/backends/postgresql_psycopg2/base.py「, 第162行,在_cursor中 raise錯誤配置(」您需要在您的Django設置文件中指定NAME。「) django.core.exceptions.ImproperlyConfigured:您需要指定NAME在您的Django設置文件中。

問題是它找不到我由heroku的配置變量爲heroku設置的分貝。當我運行heroku config,它正確地顯示我的應用程序的DATABASE_URL,但是當我嘗試:

如果 'DATABASE_URL' 在Python解釋器os.environ

,它返回false。我也檢查,我的配置變量沒有在我的os.environ。不應該自動添加變量嗎?我之前的步驟是正確的。

我搜索並得到了很多解決方案來檢測heroku db,但他們都基於假設我有DATABASE_URL在我的os.environ

任何人都可以指出我出錯的地方嗎?任何建議表示讚賞。謝謝!

+0

看到這個頁面 http://stackoverflow.com/questions/11071579/heroku-database-settings-injection-how-do-i-setup-my-dev-django-database 它的工作,ldiqual的答案是正確的。 – user1425431

回答

1

我相信本教程缺少一些關於如何在本地運行應用程序的步驟。如果你想在本地同步數據庫,你應該使用你機器上的那個來覆蓋「默認」DATABASE。 here與代碼示例中有一個類似的答案。

+0

我試過這個代碼,它仍然不起作用。現在,當我運行'syncdb'時,它會顯示'image not found'錯誤。 – Yulong

+0

嘿,我終於得到你提到的代碼工作。原來我錯誤地配置了我的postgresql。你是對的,heroku本身似乎不考慮當地的環境。謝謝! – Yulong

+0

@玉龍沒問題,很高興你的工作。 – Lycha

相關問題