【发布时间】:2011-07-01 03:24:21
【问题描述】:
我正在使用 Debian 6 在 Linode 上设置 Django 站点,但无法上传图像。我在模型中设置了上传目标,并且我的 settings.py 文件已配置,并且可以毫无问题地使用所选文件保存模型,但图像永远不会写入我服务器上的目录。我认为这可能是权限问题,但无法弄清楚如何修复它或找到任何解决方案。任何帮助将不胜感激。
【问题讨论】:
-
您需要提供更多信息。您尝试上传到的文件夹是否属于运行 apache/uwsgi 的同一用户?您的 MEDIA_ROOT/STATIC_ROOT 在 settings.py 中设置为什么?你是怎么上传文件的?通过django-admin?在您的模型中使用 FileField?
-
我的目标文件夹归根帐户所有,我如何找到运行我的 apache/wsgi 进程的用户?我在我的模型中使用 ImageField 并且我的静态目录中的 CSS 正在运行,并且设置类似于媒体目录。我认为这是您建议的所有权问题。
-
希望 apache 以它自己的用户身份运行,而不是 root,所以这可能是问题所在。您可以使用 'htop' 或仅使用 'top' 检查哪些用户正在运行 apache。
-
看起来 apache 以用户 www-data 的身份运行。我已经递归地将媒体目录的所有权更改为 www-data 但仍然没有骰子。
标签: django file-upload