此問題已被問及之前回答here,我理解爲什麼我得到錯誤的原因,但我仍然不清楚從給出答案。我應該添加哪些代碼或更改才能使其工作?我是否需要更改Heroku教程錯誤運行python manage.py syncdb更新本地數據庫
DATABASES['default'] = dj_database_url.config()
在我的設置中?該教程對此並不十分清楚。謝謝你的幫助。
此問題已被問及之前回答here,我理解爲什麼我得到錯誤的原因,但我仍然不清楚從給出答案。我應該添加哪些代碼或更改才能使其工作?我是否需要更改Heroku教程錯誤運行python manage.py syncdb更新本地數據庫
DATABASES['default'] = dj_database_url.config()
在我的設置中?該教程對此並不十分清楚。謝謝你的幫助。
什麼結束了最終的工作運行您的程序是添加:的
import dj_database_url
DATABASES['default'] = dj_database_url.config(default='postgres://<user>:<password>@localhost:5432/<name>')
,而不是僅僅
import dj_database_url
DATABASES['default'] = dj_database_url.config()
喜歡教程狀態。然後嘗試運行
python manage.py runserver
我仍然得到了錯誤
ImportError: DLL load failed: %1 is not a valid Win32 application.
然後我能弄清楚的是,stickpeople構建我需要使用是64位而不是32位的時教程讓我用,和64位版本是:
easy_install http://www.stickpeople.com/projects/python/win-psycopg/psycopg2-2.4.5.win-amd64-py2.7-pg9.1.3-release.exe
我不知道這是否是最好的方式,但爲了使用64位編譯我從一開始就開始了。現在它終於起作用了。希望這也可以用來幫助其他卡住的人。 heroku教程中有很多漏洞。
無論是安裝和使用virtualenv
與DATABASE_URL配置VAR或與DATABASE_URL=postgres:///databasename <how you'd normally run your program>
您應該在項目主目錄(即PROCFILE旁邊)創建一個名爲.env的文件,並在其中添加DATABASE_URL(例如DATABASE_URL = postgres:/// databasename)。然後你應該通過「foreman run python manage.py syncdb」來運行syndb。然後,Foreman將在運行該命令之前設置環境變量。 – sean
真的,你不應該在你的settings.py文件中硬編碼DATABASE_URL。這是因爲這些細節會在諸如開發和生產環境之間變化。它們應該通過環境變量來設置,然後DATABASES ['default'] = dj_database_url.config()將會工作,因爲它會找到定義。請參閱我對Will的回答的評論,以瞭解正確的方式。 – sean