我迷了路,我已经尝试过关于这个问题的一切,但却无法找到解决方案。 我在django 1.8 / python 3.3.5 / centos 7 / apache上有应用程序。这是默认的sqlite db。 Everytihng与django的网络服务器一起工作正常,但失败并出现错误"尝试编写一个只读数据库"在Apache上。 我已根据此文档https://code.djangoproject.com/wiki/NewbieMistakes#DjangosaysUnabletoOpenDatabaseFilewhenusingSQLite3完成了所有检查 db文件及其根文件夹具有写权限和" apache apache"用户所有者,但仍然是同样的错误:
OperationalError at /logout/
attempt to write a readonly database
Request Method: GET
Request URL: http://app.server.corp/logout/
Django Version: 1.8
Exception Type: OperationalError
Exception Value:
attempt to write a readonly database
Exception Location: /usr/local/lib/python3.3/site- packages/django/db/backends/sqlite3/base.py in execute, line 318
Python Executable: /usr/local/bin/python3.3/
答案 0 :(得分:4)
因为有“尝试编写只读数据库” 所以对我来说有助于跟进:
chmod 755 db.sqlite3
所以我们只是将权限更改为DB文件。换句话说,服务器无法写入文件。