2012-12-16 35 views

回答

0

什麼結束了最終的工作運行您的程序是添加:的

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教程中有很多漏洞。

+1

真的,你不應該在你的settings.py文件中硬編碼DATABASE_URL。這是因爲這些細節會在諸如開發和生產環境之間變化。它們應該通過環境變量來設置,然後DATABASES ['default'] = dj_database_url.config()將會工作,因爲它會找到定義。請參閱我對Will的回答的評論,以瞭解正確的方式。 – sean

1

無論是安裝和使用virtualenv與DATABASE_URL配置VAR或與DATABASE_URL=postgres:///databasename <how you'd normally run your program>

+1

您應該在項目主目錄(即PROCFILE旁邊)創建一個名爲.env的文件,並在其中添加DATABASE_URL(例如DATABASE_URL = postgres:/// databasename)。然後你應該通過「foreman run python manage.py syncdb」來運行syndb。然後,Foreman將在運行該命令之前設置環境變量。 – sean

相關問題