Django创建的SQLite数据库在哪里?

6 投票
3 回答
14115 浏览
提问于 2025-04-17 02:04

我正在做Django教程中的settings.py文件,但我对NAME字段该填什么感到困惑。我想使用SQLite,所以我理解的是我不需要创建任何东西,数据库会自动创建,对吗?如果是这样的话,它会在哪里创建,名字会是什么?

我尝试运行manage.py syncdb,结果出现了这个错误:
"django.core.exceptions.ImproperlyConfigured: 请在使用数据库之前在设置模块中填写数据库的NAME。"

所以我猜我应该填写NAME字段,但这和我在下面的说明中理解的并不一样:

https://docs.djangoproject.com/en/1.3/intro/tutorial01/

NAME -- 你的数据库名称。如果你使用的是SQLite,数据库会是你电脑上的一个文件;在这种情况下,NAME应该是这个文件的完整绝对路径,包括文件名。如果这个文件不存在,当你第一次同步数据库时,它会自动创建(见下文)。

3 个回答

1

根据实际的文档(2015年1月):

NAME – 这是你的数据库的名字。如果你使用的是SQLite,那么数据库就是你电脑上的一个文件;在这种情况下,NAME应该是这个文件的完整路径,包括文件名。默认值是 os.path.join(BASE_DIR, 'db.sqlite3'),这会把文件存储在你的项目目录里。

按照文档的写法,我建议把 Name 设置为 os.path.join(BASE_DIR, 'db.sqlite3')。当然,你需要先定义 BASE_DIR

2

首先,你需要创建一个 .db 文件,或者在你的电脑上安装 sqlite。接着,创建一个数据库文件,并在 settings.py 文件中找到 NAME 这一项,把它指向你刚创建的数据库文件。例如,在 Linux 系统上,我的路径是 '/home/username/project/chatdb'。如果你使用的是 Windows 系统,那么路径应该是 'C:/homes/user/mysite/sqlite3.db'。

6

根据文档的说明,它会在你设置的NAME位置创建SQLite3数据库文件。Django不会自己猜,而是会使用你在这里指定的文件路径。

只有当你使用其他数据库而不是SQLite时,NAME才会是数据库服务器上实际的数据库名称。

撰写回答