我正在运行 Kubuntu 12.04 LTS。
我一直在阅读 django 书籍,但遇到了一个障碍,无法设置 posgresql 来与 django 应用程序一起工作。
我已经通过 synaptic 安装了 python-postgresql 和 python-psycopg。运行时import conncetion from django.db
出现以下错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/django/db/__init__.py", line 11, in <module>
if settings.DATABASES and DEFAULT_DB_ALIAS not in settings.DATABASES:
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 46, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, but settings are not configured. You must either define the envirogs.configure() before accessing settings.
帮助我了解 django 和 postgreql 如何通信,或者给我一个适合初学者的 django 教程或一个帮助人们在 ubuntu 上设置 django 和 posgre 的帖子。
答案1
您需要在 中提供详细信息settings.py
。这是您必须配置的部分
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # Or path to database file if using sqlite3.
'USER': '', # Not used with sqlite3.
'PASSWORD': '', # 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.
}
}
请参考http://www.djangobook.com/en/2.0/chapter05.html#configuring-the-database
编辑:
这是您的settings.py
没有注释的文件。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2'
'NAME': 'blank_db',
'USER': 'postgres',
'PASSWORD': 'thepasswd',
'HOST': '',
'PORT': '',
}
}
ENGINE
您的条目末尾缺少逗号