2015-07-21 51 views
1

我一直在努力解决这个问题,整天没有解决方案。所以我把它张贴在这里。设置数据库:postgresql在django 1.8在heroku

我想通过使用Python 3.4.3的Django 1.8在Heroku中设置一个博客网站。我遵循Heroku网站here的指示。

我使用“工头启动”在我的Mac上运行Django项目,并且我已经安装了所有依赖项。我最初涉及数据库setting.py文件

部分看起来像:

import dj_database_url 
DATABASES = {} 
DATABASES['default'] = dj_database_url.config() 

然后我得到的错误:在/settings.DATABASES ImproperlyConfigured配置不当。请提供ENGINE值。

然后,我通过添加一行供应ENGINE值修改文件:

import dj_database_url 
DATABASES = {} 
DATABASES['default'] = dj_database_url.config() 
DATABASES['default']['ENGINE'] = 'django.db.backends.postgresql_psycopg2' 

基于this post由阿贝尔还是回答了,它应该工作。但是我收到了另一个错误:在/settings.DATABASES配置不当,配置不正确。请提供NAME值。

接下来应该做什么?其实我的Django项目非常简单,并且不涉及任何数据库操作(将来可能需要)。我只是想让它在Heroku上运行。谢谢!

我需要创建一个数据库才能继续吗?我只是想让网页的作品。

+0

而且,会发生什么? –

回答

0

我认为你需要添加更多的信息到你的数据库定义。举例来说,这里就是我自己的数据库条目看起来像我的settings.py:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'django', 
     'USER': 'redacted', 
     'PASSWORD': 'redacted', 
     'HOST': '127.0.0.1', 
     'PORT': '5432', 
    } 
} 

如果没有数据库用户名和密码的字段中输入标绝密,那么你需要确保你创建了实际的数据库并安装了psycopg2。

我个人认为Heroku使这一切都非常困难,并且写了一篇关于在Digital Ocean上部署Django应用的教程here。我已直接链接到部署的第7部分;该指数是here

+1

请注意,部署Django自己的服务器是一个不同的鱼群:你必须管理安全更新,iptables,日志轮换,部署(Heroku的漂亮的git推技术)等等​​。让它听起来更容易一些,这是有点误导。 – elithrar

1

谢谢你们的帮助,特别是souldeux。

更新:

我以souldeux的方法,通过提供有关数据库的详细信息固定的问题。这里我要强调,它似乎从原来的Heroku教程中的代码Django的1.8不起作用:

import dj_database_url ####not working for my case 
DATABASES = {} 
DATABASES['default'] = dj_database_url.config() 

最初是因为我认为这是没有必要的简单的项目,我没有创建一个数据库,根据我从Heroku教程中获得理解。实际上它需要在Heroku中创建一个数据库来使其工作。教程是here。您需要运行“heroku config -s | grep HEROKU_POSTGRESQL”来获取数据库信息。格式如下:

scheme://username:[email protected]:port/database 

所以你可以得到'数据库','用户名','密码'等。

之后,修改 'settings.py' 根据souldeux,然后运行下列代码:

git add . 
git commit -m "Ready to go to Heroku" 
git push heroku master 
heroku run python manage.py syncdb 

现在,它的工作原理。但其他问题出现像我的网页不显示图像......无论如何解决。请确认我的解决方案,谢谢。