2012-12-16 37 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

相关问题