Настройка компрессора django -с удаленным хранилищем (django -хранилище -amazon s3)

Мой сценарий

Я использую хранилище django -, чтобы иметь файлы обслуживаются через Amazon S3. Это означает, что когда я делаю./manage.py collectstatic, файлы будут сохранены в моей корзине на amazon, а не в локальной файловой системе.

Чтобы сжать файлы, я делаю :"./manage.py compress" Что дает эту ошибку:

Ошибка :Произошла ошибка во время рендеринга :[Errno 2] Нет такого файла или каталога :u'/home/user/project/static/less/bootstrap.less'

Так как файл не находится в моей локальной файловой системе.

«Из-за того, как Django Compressor обрабатывает файлы, он требует, чтобы файлы для обработки (в блоке {% Compress %} с )по были доступны в кэше локальной файловой системы. "http://django_compressor.readthedocs.org/en/latest/remote-storages/

Вопрос

Как заставить django -сжать работу с django -хранилищем (amazon s3 )?

Что я пытался сделать до сих пор

Сделать файлы сохранения collectstatic как локальными, так и на S3. Поскольку это упоминается в документации на странице компрессора django -, должен быть какой-то хороший способ сделать это. Как?

Конфигурация

STATIC_URL = 'http://mybucket.s3-website-eu-west-1.amazonaws.com/'
STATIC_ROOT = os.path.join(PROJECT_DIR,"static/")
STATICFILES_FINDERS = (
     'django.contrib.staticfiles.finders.FileSystemFinder',
     'django.contrib.staticfiles.finders.AppDirectoriesFinder',
     'compressor.finders.CompressorFinder',
)
STATICFILES_STORAGE = DEFAULT_FILE_STORAGE = 'index.storage.CachedS3BotoStorage' #defined as it is in the documentation

AWS_ACCESS_KEY_ID = "xxx"
AWS_SECRET_ACCESS_KEY = "xxx"
AWS_STORAGE_BUCKET_NAME = "xxxx"

COMPRESS_URL = STATIC_URL
COMPRESS_OFFLINE = True

COMPRESS_PRECOMPILERS = (
    ('text/less', 'lessc {infile} {outfile}'),
)
6
задан jenso 25 April 2012 в 13:18
поделиться