此问题已被问及之前回答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