我正在创建一个django上传文件模块如下django文档:UploadFiles
执行
destination = open('/media/name.txt','wb+')
会抛出这个错误
[Errno 13] Permission denied: '/media/name.txt'
但是我的设置是:
- 一个媒体文件夹,名为'media',位于django项目的根目录
- 这个文件夹'media'有777作为权限(通过ls -l检查),并且它的所有者与执行django应用程序的所有者相同(通过lsof -i检查)
- settings-py的项目有'/home/pippo/…PROJECT_FOLDER/media'作为MEDIA_ROOT, 'http://127.0.0.1:8000/media/'作为MEDIA_URL
由于这些设置,抛出这个错误看起来很奇怪。
一些帮助吗?
你说media在django项目的根目录下,但是看起来django试图在你的文件系统的根目录下打开一个media文件夹。试着
open('media/name.txt','wb+')
或
open('/home/pippo/...PROJECT_FOLDER/media/name.txt,'wb+')
(代替…使用适当的中间目录)
您必须使用root用户或任何其他用户创建了一个文件夹。否则你就不会得到这个错误。检查每个文件夹,如果你发现root作为所有者,那么执行sudo chown -R theusername:theusername/folder/folder