Django书籍问题:数据库配置问题。出现操作错误

时间:2011-01-02 03:15:23

标签: python database django

我在django书的第5章并试图继续,但我被困在一个部分:

链接到确切章节:http://www.djangobook.com/en/2.0/chapter05/

问题:测试数据库配置

当我:

  1. 在mysite项目目录中运行python manage.py shell表单
  2. 然后在shell中键入这些命令以测试数据库配置
  3. from django.db import connection  
    cursor = connection.cursor()
    

    当我执行以上所有操作时出现以下错误:

      

    “OperationalError:无法打开数据库文件”

    我是否应该在我创建的名为“MyDB”的新目录或文件夹中创建某种文件。如果是这样,我该怎么做?

    以下是我的数据库配置的设置方法:

    配置:

    DATABASES = {
    
        'default': {
            'ENGINE': 'sqlite3',             
            'NAME':   'C:/Python27/MyDB',      
            'USER': '',                      
            'PASSWORD': '',                 
            'HOST': '',                      
            'PORT': '',                     
        }
    

2 个答案:

答案 0 :(得分:0)

我的第一个猜测是权限错误。 Python27目录的权限是什么,它们对应于运行python manage命令的权限。

我通常将数据库放在项目目录中,而不是python目录。

答案 1 :(得分:0)

您正在使用sqlite,它将数据库创建为文件。根据您在问题中所述,数据库设置中NAME的值为'C:/Python27/MyDB',其指向目录。将该值设置为'C:/Python27/MyDB/mydb.db'或类似的值。您不需要实际创建文件,Django会在您运行manage.py syncdb时为您执行此操作。