0

我有一个 django 应用程序,其中包含一个带有文件上传字段的模型。上传字段获取目标文件并将副本上传到媒体根目录中的现有目录,或者,如果尚未创建目录,它会创建目录并将文件放入其中。

该应用程序在开发中运行良好,利用内置的 django 服务器,但是当我将它移动到生产服务器(我的 OSX 机器运行带有 mod_wsgi 的 apache2 实例)时,我从 mkdir 函数中得到“[Error 13] Permission denied”每当我尝试上传文件时,都在 django 的 storage.py 中。我强烈怀疑需要将权限语法添加到我的 apache httpd.conf 中。我不知道为什么 django 服务器对代码没有问题,但 apache gags。有人知道吗?

4

2 回答 2

0

我想有时一条错误消息正是它所说的。在这种情况下,“[Error 13] Permission denied”被抛出,因为 apache 没有对 django 应用程序试图上传到的目录的写访问权限。我只是导航到我设置为文件上传目录的目录,并在系统范围内授予对它们的写权限。这可能不是最安全的解决方案,但它是最实用的,因为它可以工作,而且我不知道如何在不打开系统范围内的目录的情况下明确设置 apache2 的写权限。

另外,我没有在 serverfault 上发布问题,因为我不知道这是 django 配置问题还是 apache 问题。

于 2012-05-20T17:05:05.680 回答
0

权限问题在 mod_wsgi 文档中描述:

http://code.google.com/p/modwsgi/wiki/ApplicationIssues#Access_Rights_Of_Apache_User

于 2012-05-19T03:09:07.380 回答