无法使用Django和apache modwsgi上传文件

时间:2012-02-22 13:16:48

标签: django apache mod-wsgi

由于html5视频标记存在一些问题,我最近不得不放弃Django开发服务器并转移到apache。

当尝试将视频上传到媒体文件夹时,更改带来了[Errno 13]权限被拒绝错误。

我已经使用chmod以递归方式将媒体文件夹设置为777,并使用chgrp为www-data组授予权限;这是执行ls -lha media/

时的输出
total 12K
drwxrwxrwx  3 esteban www-data 4,0K 2012-02-22 06:44 .
drwxr-xr-x 10 esteban esteban  4,0K 2012-02-22 07:35 ..
drwxrwxrwx  3 esteban www-data 4,0K 2012-02-13 10:12 generated

我还在httpd.conf文件中编写了以下指令:

<Directory /home/esteban/python_projects/video_transform/media>
Options +Indexes
Order allow,deny
Allow from all
</Directory>

这允许我在浏览http://localhost/media时列出文件夹内容,但尚未成功上传。

任何想法??

编辑:此行引发异常:

destination = open('media/' + filename, 'wb+')

2 个答案:

答案 0 :(得分:2)

使用评论中建议的绝对路径。请阅读以下文档:

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

至于原因。

答案 1 :(得分:0)

我会测试在Apache配置中切换Order指令。在当前情况下,deny指令虽然没有明确定义,但是在Allow指令之后,并且有效地阻止了所有流量。如此切换Order指令应解决问题:

<Directory /home/esteban/python_projects/video_transform/media>
Options +Indexes
Order deny,allow
Allow from all
</Directory>