Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法打开数据库文件_Python_Database_Django_Sqlite - Fatal编程技术网

Python 无法打开数据库文件

Python 无法打开数据库文件,python,database,django,sqlite,Python,Database,Django,Sqlite,我正在尝试在我的计算机上安装Django安装程序的sqlite3数据库,但似乎无法正常工作。我有下面 DATABASES = { 'default': { 'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 'NAME': 'C:\Python27\Lib\site-packages\django\bin\cms\cms.db',

我正在尝试在我的计算机上安装Django安装程序的sqlite3数据库,但似乎无法正常工作。我有下面

DATABASES = {
'default': {
    'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
    'NAME': 'C:\Python27\Lib\site-packages\django\bin\cms\cms.db',                      # 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.
}
}


我做错了什么?谢谢。

引擎需要:
django.db.backends.sqlite3

另外,不要将全局站点包目录用于数据库。你看过教程了吗?您的数据库文件应位于创建应用程序的同一目录中(位于
settings.py
文件所在的同一目录下的任何子目录)

编辑:

正确安装django后,需要执行的操作:

  • 打开命令提示符
  • 任何其他目录,比如说
    C:\Projects
    (首先,
    cd
    进入该目录)
  • 然后,键入
    django\u admin.exe startproject cms
    ,因此您的命令应该是
    C:\Projects\>django\u admin.exe startproject cms
  • 现在你有了一个目录
    cms
    ,换成它
    cdcms
  • 接下来,编辑
    settings.py
    (因此在
    C:\Projects\cms>
    中)
  • 将数据库字典更改为:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'cms.db',                      # 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.
    }
    }
    

    现在从
    C:\Projects\cms
    目录运行
    python manage.py syncdb
    ENGINE
    需要:
    django.db.backends.sqlite3

    另外,不要将全局站点包目录用于数据库。你看过教程了吗?您的数据库文件应位于创建应用程序的同一目录中(位于
    settings.py
    文件所在的同一目录下的任何子目录)

    编辑:

    正确安装django后,需要执行的操作:

  • 打开命令提示符
  • 任何其他目录,比如说
    C:\Projects
    (首先,
    cd
    进入该目录)
  • 然后,键入
    django\u admin.exe startproject cms
    ,因此您的命令应该是
    C:\Projects\>django\u admin.exe startproject cms
  • 现在你有了一个目录
    cms
    ,换成它
    cdcms
  • 接下来,编辑
    settings.py
    (因此在
    C:\Projects\cms>
    中)
  • 将数据库字典更改为:

    DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'cms.db',                      # 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.
    }
    }
    

    现在从
    C:\Projects\cms
    目录运行
    python manage.py syncdb
    ,我已经体验过了。通过在路径中使用“cms.sqlite”而不是“cms.db”解决了这个问题。试试看它是否有效?

    我经历过。通过在路径中使用“cms.sqlite”而不是“cms.db”解决了这个问题。试试看它是否有效?

    是的,我的数据库位于“cms”目录中,该目录位于站点包目录中。我以前也做过同样的事情,没有问题。我试过“django.db.backends.sqlite3”,但仍然不起作用:(你不明白burhan说了什么。你不应该把自己的代码放在site packages目录下,更不应该放在bin子目录下。把它放在一个单独的文件夹中,而不是在site-packages下。是的,我的数据库在“cms”中站点包目录中的目录。我以前做过相同的操作,没有问题。我尝试了“django.db.backends.sqlite3”,但仍然不起作用:(你不明白burhan说了什么。你不应该把自己的代码放在site packages目录下,更不应该放在该目录的bin子目录下。把它放在一个单独的文件夹中,而不是放在site packages下。)。