首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安装Heroku Django后postgres数据库/ syncdb出现问题

安装Heroku Django后postgres数据库/ syncdb出现问题
EN

Stack Overflow用户
提问于 2013-02-26 15:25:26
回答 3查看 1.2K关注 0票数 1

我刚开始玩Heroku / Django / Postgres游戏,在按照他们的tutorial中的说明操作后遇到了麻烦。下面是我的设置:

已安装: Django 1.4.5 dj_database_url Postgress.app 9.2.2.0

代码语言:javascript
复制
DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'db_name',                      # Or path to database file if using sqlite3.
    'USER': '',                      # Not used with sqlite3.
    'PASSWORD': '',
    'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
    'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
 }
}

后来在settings.py中:

代码语言:javascript
复制
import dj_database_url
    DATABASES['default'] = dj_database_url.config()

当我运行python manage.py同步数据库时:

代码语言:javascript
复制
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
   execute_from_command_line(sys.argv)
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-         packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
cursor = connection.cursor()
  File "/Users/joerobinson/.virtualenvs/dg/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 15, in complain
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

当我运行python manage.py外壳,导入设置,并查看数据库时,我得到:

代码语言:javascript
复制
{'default': {'ENGINE': 'django.db.backends.dummy', 'TEST_MIRROR': None, 'NAME': '', 'TEST_CHARSET': None, 'TIME_ZONE': 'UTC', 'TEST_COLLATION': None, 'PORT': '', 'HOST': '', 'USER': '', 'TEST_NAME': None, 'PASSWORD':

因此,我知道我一定是配置错误了,但我在一夜的搜索中没有找到正确的设置。有人见过这个吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-11 10:41:16

我必须指出如下配置数据库URL:

代码语言:javascript
复制
DATABASES['default'] = dj_database_url.config(default='postgres://localhost/db_name')

我还有其他与psycopg2包和gcc-4.2相关的问题,但这些都没有在我最初的帖子中涉及。

票数 0
EN

Stack Overflow用户

发布于 2013-02-26 16:40:05

你可能需要一个真正的Django数据库后端,而不是django.db.backends.dummy。例如:

代码语言:javascript
复制
{'ENGINE': 'django.db.backends.postgresql_psycopg2', ... }
票数 1
EN

Stack Overflow用户

发布于 2013-07-28 16:19:24

我通过删除dummy/base.py并创建指向它的符号链接解决了同样的问题:

代码语言:javascript
复制
ln -s /usr/lib/python2.6/site-packages/django/db/backends/sqlite3/base.py /usr/lib/python2.6/site-packages/django/db/backends/dummy/base.py
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15083593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档