django自动创建的SQLite数据库在哪里?

时间:2011-09-11 23:08:40

标签: python django sqlite

我在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 个答案:

答案 0 :(得分:5)

好吧,正如文档中所说,它将在NAME配置的文件位置创建SQLite3数据库文件。 Django不猜,但使用你在那里指定的文件路径。

只有使用SQLite以外的其他内容时,NAME才是数据库服务器上的实际数据库名称。

答案 1 :(得分:1)

创建一个.db文件或在你的机器上安装sqlite创建一个数据库文件,并在NAME下的settings.py中指向它,例如我在linux上有“'/ home / username / project / chatdb'。对于windows它的'C:/homes/user/mysite/sqlite3.db'

答案 2 :(得分:0)

根据实际docs(2015年1月):

  

NAME - 数据库的名称。如果您使用的是SQLite,则数据库将是您计算机上的文件;在这种情况下,NAME应该是该文件的完整绝对路径,包括文件名。默认值os.path.join(BASE_DIR,'db.sqlite3')将文件存储在项目目录中。

如上所述,我建议Name os.path.join(BASE_DIR, 'db.sqlite3')。当然,您必须定义BASE_DIR