Django admin没有';我不喜欢SQL插入

Django admin没有';我不喜欢SQL插入,django,sqlite,mod-wsgi,wsgi,Django,Sqlite,Mod Wsgi,Wsgi,我一直试图让Django在Mac服务器上由mod_wsgi提供服务。我知道Django可以连接到数据库(因为我可以将权限从readonly切换到read/write,并查看错误消息的更改),但我遇到一个错误,即无法连接到数据库。我在服务器上使用SQLite V3.6.12。导致错误的SQL将在显示的错误页面中报告。异常位置是execute中的/Library/Python/2.6/site-packages/django/db/backends/sqlite3/base.py,第234行 在回溯

我一直试图让Django在Mac服务器上由mod_wsgi提供服务。我知道Django可以连接到数据库(因为我可以将权限从readonly切换到read/write,并查看错误消息的更改),但我遇到一个错误,即无法连接到数据库。我在服务器上使用SQLite V3.6.12。导致错误的SQL将在显示的错误页面中报告。异常位置是execute中的/Library/Python/2.6/site-packages/django/db/backends/sqlite3/base.py,第234行

在回溯的最后一次调用中显示的错误是

cursor <django.db.backends.util.CursorDebugWrapper object at 0x102c16a50>
self <django.db.models.sql.compiler.SQLInsertCompiler object at 0x102c16910>
params ('d59df55372475754aa91299d0c5662b6','NmNlOThlYTVjYTIwYWZjZDgwMzFiMTMxZThjZmRhYzg3NDQ3MzcwYzqAAn1xAVUKdGVzdGNvb2tp\nZXECVQZ3b3JrZWRxA3Mu\n',u'2011-08-02 18:25:48.426508')
result_type  None
sql  'INSERT INTO "django_session" ("session_key", "session_data", "expire_date") VALUES (%s, %s, %s)'
光标
自己
参数('D59DF5537247545AA91299D0C5662B6','NmnolthlyTvjytiwywzdgwmzfimtmxzthjmRhyzg3ndq3mzcwyzqaan1xavukdgvzdgnvb2tp\nzxecvq3b3jrzwrxa3mu\n',u's 2011-08-02 18:25:48.426508')
结果\u类型无
sql'插入到“django_会话”(“会话密钥”、“会话数据”、“过期日期”)值(%s,%s,%s)'
出现以下错误('无法打开数据库文件',)


如何进行调试?

对于SQLite数据库,数据库文件及其所在目录必须对试图使用它的用户是可写的。

对于SQLite数据库,数据库文件及其所在的目录必须对试图使用它的用户都是可写的。

那么切换权限时会出现哪两种类型的错误?您的文件现在处于可写模式吗?请记住,服务器可能会使用某些特定用户进行操作。类似于Linux下的
www-data
,不确定mac使用的是什么。为了确保正确识别了文件,我将其设置为只读。然后,尝试写入只读文件时出错。当我将其设置为所有具有读写功能的用户时,错误是无法连接。Django尝试插入时出错。那么切换权限时会出现哪两种类型的错误?您的文件现在处于可写模式吗?请记住,服务器可能会使用某些特定用户进行操作。类似于Linux下的
www-data
,不确定mac使用的是什么。为了确保正确识别了文件,我将其设置为只读。然后,尝试写入只读文件时出错。当我将其设置为所有具有读写功能的用户时,错误是无法连接。Django尝试插入时出错。您以前做过,不是吗?我不得不说,这是最令人惊奇的网站。我有个问题,真的不知道该问什么问题。我弹出一些我希望相关的调试输出,并显示我已经做了一些分析。弹出这一行的答案,钉住它,它显示在几个小时内。太神了格雷厄姆一开始就拿到了,朱尔基维茨获得了荣誉称号。原因是SQLite在目录中写入一个临时文件来处理回滚和提交。格雷厄姆一提到这一点,我就完全明白发生了什么。通过修复权限验证答案是否正确。谢谢!!!你以前做过,是吗?我不得不说,这是最令人惊奇的网站。我有个问题,真的不知道该问什么问题。我弹出一些我希望相关的调试输出,并显示我已经做了一些分析。弹出这一行的答案,钉住它,它显示在几个小时内。太神了格雷厄姆一开始就拿到了,朱尔基维茨获得了荣誉称号。原因是SQLite在目录中写入一个临时文件来处理回滚和提交。格雷厄姆一提到这一点,我就完全明白发生了什么。通过修复权限验证答案是否正确。谢谢!!!