我已经创建了一个简单的Django 1.4项目,并且正在try 发出syncdb来创建(Postgres)数据库模式.我收到这个错误:-

Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.6/dist-packages/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/usr/local/lib/python2.6/dist-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs
cursor = connection.cursor()
File "/usr/local/lib/python2.6/dist-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.

我的settings.py文件如下所示:-

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

我可以使用psql OK连接到数据库-有什么 idea 吗?提前谢谢!

推荐答案

可能是Django没有访问您认为它使用的settings.py文件. try 使用--settings将Django显式指向您的设置文件

./manage.py --settings=nameofproject.settings runserver/syncdb

如果这起作用,那么您必须找出为什么Django导入了错误的设置文件.

你是否意外地从1.3升级到了1.4?

Django相关问答推荐

对象Django API中的对象

Django-无法显示基于字段值的元素

从url参数过滤的Django日期范围返回空查询集

防止 Django 从表单集中保存特定表单

来自 Django 应用程序的日志(log)消息未上传到 AWS CloudWatch

Django 如何知道我的数据库的路径?

Django模型中的密码字段

使用 Django 和 South 重命名应用程序

在 Bootstrap 中使单击的选项卡处于活动状态

Django Admin - 覆盖自定义表单字段的小部件

手动触发 Django 邮件错误报告

在 Django 中获取下一个和上一个对象

Django 存储匿名用户数据

django-object-permissions Vs django-guardian Vs django-authority

Django - 每 x 秒运行一个函数

javascript 文件中的 Django {% static 'path' %}

如何在 Django 中使用动态外键?

将属性添加到 Django 模型的 Meta 类中

Django:根据自定义函数过滤查询

何时使用 Django get_absolute_url() 方法?