使用'postgresql_psycopg2'我的Django数据库配置有问题 如果我给我的数据库任意名称,如下所示,
DATABASES = {
'default': {
'ENGINE': 'postgresql_psycopg2', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'xyz', # Or path to database file if using sqlite3.
'USER': 'postgres', # Not used with sqlite3.
'PASSWORD': '${my_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.
'OPTIONS': {
"autocommit": True,
}
}
}
>
OperationalError at /
FATAL: database "xyz" does not exist
我经常浏览并发现与SQLite相同,我们必须指定数据库的绝对路径;与PostGRE同样如上。
我想知道:
1)为什么我收到上述规格的错误信息和
2)我如何使用我正在使用的数据库与开发服务器在文件系统(窗口)中布局。
答案 0 :(得分:0)
我经常冲浪,发现同样的情况 使用SQLite我们必须指定 数据库的绝对路径;同 PostGRE也在上面。
为了清楚(你的措辞不是),postgresql没有绝对路径,它只是数据库的名称。
1:错误信息非常清楚,数据库xyz不存在。
转到dbshell(python manage.py dbshell
)并输入\l
。如果数据库xyz
不在那里,请键入create database xyz
,退出postgres shell并再次尝试syncdb。
2:对于您的开发服务器,我建议使用sqlite3以方便使用。
sqlite
包含在python 2.5+中,因此不需要额外的设置。只需将ENGINE
设置为sqlite3
,指定数据库保存位置的绝对路径,然后python manage.py syncdb