DatabaseError:无法打开db文件,但仅适用于Django admin

oma*_*mat 5 database sqlite django django-admin

这可能是我在Django工作4年中最奇怪的问题.

我的网站在当地工作正常.在生产环境中它也运行良好,除了当我尝试访问管理站点时,我收到服务器错误,这是Apache错误日志中的"OperationalError:无法打开数据库文件".

DB文件是全局可写的,设置中的路径是绝对的.生产环境是Ubuntu Lucid/Python 2.6/Sqlite3.我尝试使用Django 1.2.4和1.3 beta.

奇怪的是,我可以syncdb在服务器上.它创建表和管理员用户.我可以毫无问题地访问该网站.我可以shell在python提示符下运行和创建内容.该网站是可浏览的.只有当我访问admin时,才会出现此错误.

我没有依据任何理由.任何帮助是极大的赞赏.

ps:错误是在Apache级别引发的,而不是来自Django.Django回溯是在Apache错误日志中读取的DatabaseError: unable to open database file.

Enr*_*sso 2

一个愚蠢的猜测。

哪个用户正在运行 apache?

我知道网站的其余部分正常工作很奇怪,但请仔细检查您的 sqlite 数据库是否可以从运行 Apache 的用户访问并读写!

  • 我知道这是一个老问题,但为了完整性:python sqlite 模块需要对包含数据库文件的目录进行写访问。 (4认同)