2011-08-03 35 views
1

我创建一个Django上传文件模块下面这个Django文档:UploadFiles的Django,上传的文件:[错误13]许可被拒绝: '/media/name.txt'

包子当执行

destination = open('/media/name.txt','wb+') 

它引发此错误

[错误13]权限被拒绝: '/media/name.txt'

但我的设置是:

  1. 媒体文件夹,名为“媒体”,即在Django项目
  2. 这个文件夹“媒体”有777权限(通过ls -l命令检查)的根,并且它的所有者与执行django应用程序(通过lsof -i检查)相同
  3. 项目的settings-py将'/home/pippo/...PROJECT_FOLDER/media'设置为MEDIA_ROOT和'http:/ '127.0.0.1:8000/media/'as MEDIA_URL

由于这些设置,它似乎很扼杀e这个错误被抛出。

有帮助吗?

回答

1

你说媒体是在django项目的根源,但它似乎django试图打开文件系统根目录下的文件夹媒体。尝试

open('media/name.txt','wb+') 

open('/home/pippo/...PROJECT_FOLDER/media/name.txt,'wb+') 

(替换...用适当的中间目录。)

+0

或者你可以做一些像'open(settings.MEDIA_ROOT +'name.txt','wb +') ' – Tony

+0

随着 '打开( '媒体/ name.txt', 'WB +')' 它被倒掉[错误2]没有这样的文件或目录: '媒体/ name.txt' 我解决了与 '打开( settings.MEDIA_ROOT +'name.txt','wb +')' –

0

你必须创造了用root用户所有权或与任何其他用户的文件夹。否则,你不会得到这个错误。检查每个文件夹,如果你找到root作为所有者,然后做“sudo chown -R theusernamme:用户名/文件夹/文件夹

相关问题