Я перезаписал хранилище файлов по умолчанию в 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, например. requests
, а затем открыть справку?
спасибо, да, я знаю, но мое ведро находится во Франкфурте, и они не поддерживают sigv2. У меня было много головных болей из джанго-хранилищ и джанго-хранилищ-редуксов. поэтому я решил использовать свое собственное хранилище. – doniyor
Вы имеете в виду, я могу использовать boto в open() методе хранения? – doniyor
Ваш последний вопрос был о 'django-storages', поэтому я хотел убедиться, что вы знали о' django-storages-redux' – Alasdair