我在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应该是该文件的完整绝对路径,包括文件名。如果该文件不存在,则在您第一次同步数据库时会自动创建该文件(参见下文)。
答案 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