Django 排队存储 [Errno 13] 权限被拒绝
我知道有类似的问题,但那些并没有帮我解决我的困扰。
我正在尝试使用 django-queued-storage
,之前我的文件上传都很顺利,但现在加上这个之后,我遇到了一个错误:[Errno 13] Permission denied: '/media/curriculum.pdf'
。
我试着用这个命令来设置我的媒体文件权限:sudo chmod 777 -R media/
(我知道这样做不好),还有其他一些权限设置的方法,但都没有成功。
有没有人知道我该怎么解决这个问题?我在使用一个装有 Ubuntu 14.04 的 Vagrant 虚拟机。
这是我的文件夹权限:
vagrant@vagrant:/vagrant/media$ ls -latr
total 8
drwxrwxr-x 1 vagrant vagrant 4096 Jul 15 11:52 .
drwxrwxr-x 1 vagrant vagrant 4096 Jul 15 12:04
这是我的设置:
MEDIA_ROOT = '/media/'
STATIC_ROOT = '/static/'
STATIC_URL = S3_URL + STATIC_ROOT
MEDIA_URL = S3_URL + MEDIA_ROOT
还有我的模型:
queued_s3storage = QueuedStorage(
'django.core.files.storage.FileSystemStorage',
'storages.backends.s3boto.S3BotoStorage'
)
fulltext_pdf_file = models.FileField(null=True, blank=False, upload_to='.', storage=queued_s3storage)
1 个回答
0
感谢@rje,我找到了问题。其实问题出在我的设置上,我试图写入错误的文件夹。解决办法是:
MEDIA_ROOT = 'media/'
MEDIA_URL = S3_URL + '/' + MEDIA_ROOT