我试图在没有任何数据库设置的情况下启动Django runserver。 目前我已经尝试将db引擎设置为虚拟。
python manage.py runserver能够启动了。
但网页没有正确显示,它显示了一些python异常,看起来它正在寻找我编写的模型类的数据库表,并且它正在尝试连接到我的模型类的某个数据库。
有人可以帮我解决这个问题。我希望我的网页能够在没有任何数据库配置的情况下工作。我的模型类仍然正常。
有关上述内容的其他信息: 感谢您的快速回复。我也尝试在数据库设置中设置空值。项目的要求是在没有任何数据库运行的情况下启动网站。该网站项目是一个基于django 1.1的旧系统,并且广泛使用oracle所以它的所有模型类都在使用oracle。但是我必须从站点项目中基本上退出oracle数据库并覆盖save方法以转储到外部文件并使用tcp连接发送到其他系统。
我们不必在生产环境中使用任何单个数据库。
我在网页上看到的错误如下,这将帮助你们思考可能出现的问题。错误:
文件“/home/AK/trunk/python/portal/../portal/utils/views.py”,第94行,在init self.get_results(request,max_rows)
文件“/home/AK/trunk/python/portal/../portal/utils/views.py”,第140行,在get_results中self.results_count = paginator.count
文件“/usr/lib64/python2.6/site-packages/django/core/paginator.py”,第48行,在_get_count self._count = self.object_list.count()
文件“/usr/lib64/python2.6/site-packages/django/db/models/query.py”,第292行,在计数中返回self.query.get_count()
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第376行,get_count number = obj.get_aggregation()[无]
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第348行,get_aggregation结果= query.execute_sql(SINGLE)
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第2360行,在execute_sql sql中,params = self.as_sql()
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第401行,as_sql from_,f_params = self.get_from_clause()
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第861行,在get_from_clause result.append('%s%s%s'%( connector,qn(name),alias_str))
文件“/usr/lib64/python2.6/site-packages/django/db/models/sql/query.py”,第175行,在quote_name_unless_alias中r = self.connection.ops.quote_name(name)
文件“/usr/lib64/python2.6/site-packages/django/db/backends/dummy/base.py”,第15行,在抱怨中引发错误配置,“你还没有设置DATABASE_ENGINE设置。 “
NotperlyConfigured:您尚未设置DATABASE_ENGINE设置。
感谢
答案 0 :(得分:1)
您可以使用sqlite3
作为数据库引擎,然后运行syncdb。因此,django可以将你的模型存储在基于文件的sqlite数据库中,一切都会对你好。
此设置可以从settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': 'mydatabase'
}
}
答案 1 :(得分:1)
我在想importd可能非常适合您尝试做的事情,但根据slides/ documentation,它假设SQLite可用。
答案 2 :(得分:0)
您必须首先禁用大多数应用程序(包括管理员使用数据库来记录用户交互)。如果你想要一个没有数据库的简单python网站(可能是其他应用程序的远程管理),我会鼓励你使用任何其他轻量级框架,如龙卷风或烧瓶。
django的大部分优势都与ORM或现有应用程序有关,而这些应用程序通常需要数据库。
如果您不知道其他框架,并希望快速获得结果而不会浪费太多时间学习,我建议您先看看瓶子:http://flask.pocoo.org/docs/quickstart/
如果您需要使用工具来处理tcp连接以及使用异步性能进行文件处理的各种体验,您可能需要使您的Web服务器处于扭曲状态。
但我同意,使用起来会更难。