Django,上传文件:[Errno 13]权限被拒绝:'/ media / name.txt'

时间:2011-08-03 01:15:45

标签: django exception file-upload permissions

我正在根据此django文档创建一个django上传文件模块:UploadFiles

Bun执行时

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

它会抛出此错误

  

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

但我的设置是:

  1. 一个名为“media”的媒体文件夹,位于django项目的根目录中
  2. 此文件夹'media'具有777作为权限(通过ls -l检查),并且其所有者与执行django应用程序相同(通过lsof -i检查)
  3. 项目的settings-py将'/home/pippo/...PROJECT_FOLDER/media'作为MEDIA_ROOT,将'http://127.0.0.1:8000/media/'作为MEDIA_URL
  4. 由于这些设置,抛出此错误似乎很奇怪。

    有些帮助吗?

2 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

您必须已创建具有root用户所有权或任何其他用户的文件夹。否则你不会得到这个错误。检查每个文件夹,如果你找到root作为所有者,那么做" sudo chown -R theusernamme:theusername / folder / folder