【发布时间】:2011-06-21 23:57:55
【问题描述】:
如果您未能在 setting.py 中设置数据库引擎,则会出现错误。
如果您不需要数据库,是否有某种方法可以为特定站点禁用 django 的数据库部分?
【问题讨论】:
如果您未能在 setting.py 中设置数据库引擎,则会出现错误。
如果您不需要数据库,是否有某种方法可以为特定站点禁用 django 的数据库部分?
【问题讨论】:
如果您想使用 django 的某些功能,例如会话,则需要使用数据库引擎。如果您不需要这些,只需将它们从中间件类中删除即可。
如果你想使用会话或使用 django 应用程序存储一些数据,但不想做所有复杂的数据库配置,你可以使用 sqlite3 作为你的数据库引擎。它不需要任何设置,您只需要指定一个路径,将在其中创建和存储数据库文件。就是这样:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '/var/www/mysite/sqlite.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.
}
}
【讨论】:
python manage.py syncdb
你能在那里列出一个 SQLite 数据库吗?
虽然我会考虑,如果我是你,如果使用像 Django 这样的重量级框架适合你想要的任务(因为你甚至不需要数据库)。
【讨论】:
你不需要做任何事情。当我没有定义后端时,我没有收到错误。
django-admin.py startproject myproject
urls.py 并将 URL 映射到视图。Bam,没有数据库的 django。
【讨论】:
django.core.exceptions.ImproperlyConfigured: You haven't set the database ENGINE setting yet.
manage.py syncdb吗?它验证了 1.2.3 中缺少的整个数据库行
manage.py testserver 也必须syncdb。这是完整的回溯dpaste.com/389270
ImproperlyConfigured 错误,即使我的测试不使用(或不应该使用)任何数据库。
如果使用 Django 提供的一些内置数据库模型,您可能需要它。这是一个微项目,只有最低限度的响应,所以没有数据库:
https://github.com/radzhome/django_microproject
如您所见,settings.py 文件已相当精简。
【讨论】: