DSb*_*ard 9 python django heroku
我阅读并应用"在Heroku上开始使用Django"教程但在同步db时遇到了问题:
raise ImproperlyConfigured("settings.DATABASES is improperly configured."
django.core.exceptions.ImproperlyConfigured:
settings.DATABASES is improperly configured. Please supply the ENGINE value.
Run Code Online (Sandbox Code Playgroud)
我读了请提供ENGINE值Django数据库配置和"settings.DATABASES未正确配置"错误执行syncj与django 1.4但仍然收到相同的错误.执行时
heroku run python manage.py --settings=moz455.settings syncdb
Run Code Online (Sandbox Code Playgroud)
我收到错误"未知命令:' - setstings = moz455.settings'".如何解决这个问题呢?
Django的版本是1.4.
set*_*ons 11
我遇到了同样的问题,但显然出于不同的原因.在https://devcenter.heroku.com/articles/django#prerequisites的Heroku文档中,它说要将以下内容添加到settings.py:
DATABASES['default'] = dj_database_url.config()
Run Code Online (Sandbox Code Playgroud)
您可以传入以下参数:
DATABASES['default'] = dj_database_url.config(default='postgres://user:pass@localhost/dbname')
Run Code Online (Sandbox Code Playgroud)
这将允许您在本地和Heroku上进行开发.实际解决我遇到的问题的部分是DATABASE_URL的Heroku配置环境变量实际上没有设置.为此,我跑了
$ heroku config
Run Code Online (Sandbox Code Playgroud)
我看到数据库URL分配给一个单独的配置变量.所以我创建了一个新变量:
$ heroko config:add DATABASE_URL={#the database url}
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题.我希望它可以帮助其他有类似问题的人.
在这里尝试所有答案并验证DATABASE_URL存在后,没有任何效果.
我添加了第二行并且它有效
DATABASES['default'] = dj_database_url.config() <--- heroko docs says this is enough
DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2' <---- add this
Run Code Online (Sandbox Code Playgroud)
我自己解决了:在manage.py中添加类似于以下的代码:
CurDir = os.path.dirname(os.path.abspath(__file__))
ProjectDir = os.path.join(CurDir, "moz455")
sys.path += [ProjectDir]
Run Code Online (Sandbox Code Playgroud)
并使用以下命令提交更改:
git add -A
git commit -m "commit"
git push -f heroku
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5850 次 |
| 最近记录: |