我是django初学者,正在阅读“Practical django Projects”。该书指示插入以下内容 -
DATABASE_ENGINE = ‘sqlite3′
但是,在settings.py文件中,DATABASES是一个字典 -
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # 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的任何教程。
答案 0 :(得分:6)
您所遵循的教程适用于Django< = 1.1,在1.2中,他们更改了数据库设置的格式,以便允许所有新的多个数据库。如果你的教程告诉你要创建这样的东西:
DATABASE_ENGINE = 'sqlite3'
DATABASE_NAME = '/path/to/your/dev.db'
然后,这是在1.2语法中实现sqlite3
数据库所需的内容:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': '/path/to/your/dev.db',
}
}
总是看到Django documentation on the matter以获取更多信息,并且为了证明我在1.1版本中的说法,请查看docs from that version。
答案 1 :(得分:1)
是的,它是一个不同的版本。从1.2开始,用于指定数据库参数的约定已更改为提供多数据库支持(尽管先前的约定也应该起作用,以保持向后兼容性)。你应该看看official Django documentation。它是最新的,非常有益健康。