2014-01-13 7 views
0

У меня есть проект django с высокой нагрузкой с большим количеством изображений в нем (в django.db.models.ImageField). Я ищу решение со следующими критериями:Решение эскизов изображений Django с использованием rackspace CloudFiles

  1. Изображения сохраняются в Rackspace CloudFiles (с использованием Джанго-кучевые) эскизы
  2. Images', хранятся в облаке слишком
  3. Миниатюры генерируются на тот же момент, как изменения исходного изображения (I не хотят эскизы, которые будут созданы на шаблон визуализации, как большинство из библиотек эскизов Джанго сделать)

Я был бы признателен за вашу помощь.

+0

Каких библиотек вы пробовали до сих пор? – rdodev

+0

вы можете проверить это Q/A: http://stackoverflow.com/questions/20912041/changing-django-storages-backend-from-from-s3-to-cloudfiles-and-dealing-with-old – rdodev

ответ

1

Для (1) вы должны иметь возможность использовать django-cumulus, я не знаю другого рабочего пакета для Rackspace CloudFiles.

Для (2) установите параметр STATICFILES_STORAGE, чтобы указать класс, который обрабатывает статические файлы в облаке. В моем случае я храню загруженные пользователями статические файлы на Amazon S3, и я удлинить S3BotoStorage класс импортирован этот путь:

from storages.backends.s3boto import S3BotoStorage 

от django-storages. Найти, что эквивалентный класс для модуля django-cumulus и использовать/продлить соответственно; классы хранения находятся в here. Ключ должен установить STATICFILES_STORAGE, чтобы указать на него.

Для (3) используйте библиотеку генерации миниатюр для «выборки» изображения с различными размерами эскизов, которые вам нужны при изменении исходного изображения. Это создаст их немедленно (если они еще не существуют). (Это применимо для библиотек, которые я использовал, которые являются sorl-thumbnail и easy_thumbnails.

Сторона примечания: «асинхронная генерация» миниатюр (чтобы исходный запрос не ожидал, что все миниатюры будут сгенерированы немедленно) популярное требование, и оно достаточно документировано для easy_thumbnails библиотеки here. Должно быть просто настроить, если вы celery уже включены в вашей архитектуре.

+0

Модуль Rackspace для 'django-storages' устарел/устарел. Мы рекомендуем использовать другое решение. Если вы ** должны ** использовать 'django-storageages', советуем вам расширить его, используя libcloud. – rdodev

+0

@rdodev Спасибо, так как он хорошо работает для Amazon S3. Я предположил, что он хорошо работает для CloudFiles; не использовал его сам. Какая альтернатива? –

+0

Отметьте раздел комментария к этому вопросу: http://stackoverflow.com/questions/20912041/changing-django-storages-backend-from-from-s3-to-cloudfiles-and-dealing-with-old – rdodev

 Смежные вопросы

  • Нет связанных вопросов^_^