我是Heroku和Django/Python的新手。我希望爲我遇到的問題找到答案。我一直在關注Heroku開發中心的入門教程:https://devcenter.heroku.com/articles/django在本地運行「python manage.py syncdb」時出錯,但在通過Heroku運行同一命令時沒有錯誤
運行命令並將應用程序代碼推送到Heroku時,一切正常。例如,當我運行CLI命令「heroku run python manage.py syncdb」時,按預期方式運行,沒有錯誤。然而,當我嘗試在本地運行相同的命令,「蟒蛇manage.py執行syncdb」,我得到下面的輸出和錯誤:
Scotts-MacBook-Pro:bonavina scottklieberman$ python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 10, in <module>
...
File "/Library/Python/2.7/site- packages/django/db/backends/postgresql_psycopg2/base.py", line 162, in _cursor
raise ImproperlyConfigured("You need to specify NAME in your Django settings file.")
django.core.exceptions.ImproperlyConfigured: You need to specify NAME in your Django settings file.
然後我回去,並檢查了我的settings.py文件。根據Heroku教程,我沒有在設置文件中指定NAME,因爲我使用的是dj_database_url。我很好奇爲什麼這是本地故障(爲什麼它需要NAME),而它正在Heroku上成功編譯。任何幫助將不勝感激。讓我知道是否有任何其他信息需要診斷問題。
最佳, 斯科特
要在您的本地環境中設置它,請在您的項目主目錄中創建一個名爲.env的文件,並添加DATABASE_URL = postgres:/// dbname,其中dbname是您的數據庫的名稱。然後通過「foreman run python manage.py syncdb」運行syncdb,以便加載環境變量。 – sean 2014-09-02 08:23:41