我使用Django 1.3.1 app
在我的机器上apache2
上部署mod_wsgi
。我曾经使用python日志记录模块在应用程序中记录一些值,并将这些值写入mylog.txt文件在应用程序基础目录中。但是我删除了这个文件并在我的代码中注释掉了每个log()调用。在django独立服务器中,应用程序运行没有任何问题。但是当我在apache中启动应用程序时,我得到了这个apache日志条目
[Sat Mar 31 09:34:40 2012] [error] [client 127.0.0.1] TemplateSyntaxError: Caught IOError while rendering: [Errno 13] Permission denied: '/home/me/dev/python/django/myapp/mylog.txt'
我无法理解为什么会发生这种情况,因为我注释掉了代码中每个与日志相关的行,甚至是在settings.py中告诉日志文件名称的变量
我尝试清除缓存..但即使这没有帮助
有人可以帮我解决这个问题吗?模块详情如下
Apache/2.0.63 (Unix) DAV/2 mod_wsgi/3.3 Python/2.6.5 Server at 127.0.0.1 Port 80
答案 0 :(得分:1)
你的mylog.txt文件中的unix / linux权限是什么?
ls -la /home/me/dev/python/django/myapp/mylog.txt
应该显示unix / linux perms。你能粘贴这个命令的结果吗? (如果可能,请在上面的问题中更新)
您系统上的Apache2用户(取决于您使用Mac的Linux发行版)很可能是“www-data”或“http”。您需要确保mylog.txt具有正确的unix / linux所有者和正确的权限模式,以便apache2可以写入此日志文件。
答案 1 :(得分:0)
我也在Webpy + Apache中遇到过这个问题。我将Apache日志目录所有者更改为Apache用户然后解决了问题。