2009-11-14 39 views
6

当打开sqlite3的数据库文件,我得到这个错误:Django的错误流失的Apache

OperationalError在/

无法打开数据库文件

事情我已经试过到目前为止都设置绝对settings.py中我的dev.db文件的路径。我已经尝试将www数据添加到我的管理员组中,并将我的项目文件夹组设置为管理员,并将该组设置为www-data,但其中没有一个解决了问题。

我完全陷在这里,如果有人有解决方案,将非常感谢!

肖恩

+1

“ls -l dev.db”的输出是什么?你正在运行什么操作系统和Django版本?如果您暂时移动数据库文件,然后运行./manage.py syncdb会怎么样?它是否创建一个新的数据库,你可以访问该数据库吗?运行“ls -l dev.db”时,它是否会报告权限或所有者与实际数据库上运行时的差异? – 2009-11-14 03:03:20

+1

您可能已经更改了“www-data”的所有者和组,但这并不意味着它被渗透了。试试'chown -R你:www-data project && chmod -R g + w project'。 – 2009-11-14 04:10:14

+0

感谢您的建议,但我只是转而使用MySQL。干杯! – shawnjan 2009-11-14 23:10:26

回答

8

刚刚通过了最后30分钟敲打我对这个问题的头..

解决方案

在您的settings.py:

DATABASE_NAME = '/absolute/path/to/your/database.db' 

设置权限:

chown www-data /absolute/path/to/your/ 
chown www-data /absolute/path/to/your/database.db