0
我已覆盖django中的默认文件存储以将模型图像字段保存在amazon s3中。只有Errno 22无效模式('rb')或文件名 - django自定义文件存储
的open
方法工作不正常,我得到:
[Errno 22] invalid mode ('rb') or filename: http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
文件已经在S3:http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
代码:
class CS3Storage(FileSystemStorage):
def open(self, name, mode='rb'):
return File(open(self.path(name), mode)) # <-- problem
def path(self, name):
# returns http://image.buzzhearts.com/media/2015/11/12/11/99f0301c46d7945c91b16b0c2d61ab13.jpg
return 'http://image.buzzhearts.com/%s' % name
我失去了什么?我想,我必须先用s3从s3中获取图像文件。 requests
然后打开吧?
谢谢,是的,我知道,但我的桶是在法兰克福,他们不支持sigv2。我从django-storages和django-storages-redux中得到了很多麻烦。所以我决定使用我自己的存储空间。 – doniyor
你是说,我可以在open()方法中使用boto存储? – doniyor
你最后一个问题是关于'django-storages',所以我想确保你知道'django -storages-redux' – Alasdair