我在django书的第5章并试图继续,但我被困在一个部分:
链接到确切章节:http://www.djangobook.com/en/2.0/chapter05/
问题:测试数据库配置
当我:
from django.db import connection
cursor = connection.cursor()
当我执行以上所有操作时出现以下错误:
“OperationalError:无法打开数据库文件”
我是否应该在我创建的名为“MyDB”的新目录或文件夹中创建某种文件。如果是这样,我该怎么做?
以下是我的数据库配置的设置方法:
配置:
DATABASES = {
'default': {
'ENGINE': 'sqlite3',
'NAME': 'C:/Python27/MyDB',
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
答案 0 :(得分:0)
我的第一个猜测是权限错误。 Python27目录的权限是什么,它们对应于运行python manage命令的权限。
我通常将数据库放在项目目录中,而不是python目录。
答案 1 :(得分:0)
您正在使用sqlite,它将数据库创建为文件。根据您在问题中所述,数据库设置中NAME
的值为'C:/Python27/MyDB'
,其指向目录。将该值设置为'C:/Python27/MyDB/mydb.db'
或类似的值。您不需要实际创建文件,Django会在您运行manage.py syncdb
时为您执行此操作。