【发布时间】:2011-06-18 11:24:01
【问题描述】:
这可能是我使用 Django 4 年来遇到的最奇怪的问题。
我的网站在本地运行良好。在生产环境中它也运行良好,除了当我尝试访问管理站点时,我在 Apache 错误日志中收到一个服务器错误,即“OperationalError:无法打开数据库文件”。
数据库文件是全局可写的,设置中的路径是绝对的。生产环境为 Ubuntu Lucid / Python 2.6 / Sqlite3。我用 Django 1.2.4 和 1.3 beta 都试过了。
奇怪的是,我可以在服务器上syncdb。它创建表和管理员用户。我可以毫无问题地访问该网站。我可以运行 shell 并在 python 提示符下创建内容。该网站是可浏览的。只有当我访问管理员时,我才会收到此错误。
我没有任何推理的依据。任何帮助是极大的赞赏。
ps:该错误是在 Apache 级别引发的,而不是来自 Django。 Django 回溯位于 Apache 错误日志中,其内容为 DatabaseError: unable to open database file。
【问题讨论】:
-
您确定您的所有模型都与数据库中的版本相同吗?我曾经遇到过类似的问题,但一开始并没有意识到,因为我在正常页面上很少使用此模型。但是管理员会一次性打开所有这些。
-
我没有发现模型有任何问题。无论如何,我都可以在本地访问管理站点。另外,如果是模型,我会得到一个不同的错误,而不是
cannot open database file。所以我认为它一定是别的东西。谢谢。
标签: database django django-admin sqlite