Como configurar o django-compressor no heroku, compressão offline para o S3
Eu segui todas as sugestões de controle de qualidade encontradas no SO e em diferentes blogs. Tudo funciona bem na minha máquina de desenvolvimento e nada funciona no heroku.
aqui estão as minhas configurações:
DEFAULT_FILE_STORAGE = 'arena.utils.MediaRootS3BotoStorage' # media files
# storage
AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
AWS_STORAGE_BUCKET_NAME = os.environ.get('AWS_STORAGE_BUCKET_NAME')
AWS_PRELOAD_METADATA = True # necessary to fix manage.py collectstatic command to only upload changed files instead of all files
S3_URL = 'https://%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME
MEDIA_URL = S3_URL + '/media/'
STATIC_URL = S3_URL + '/static/'
ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
COMPRESS_URL = STATIC_URL
COMPRESS_OFFLINE = True
COMPRESS_STORAGE = 'utils.CachedS3BotoStorage'
STATICFILES_STORAGE = COMPRESS_STORAGE
Quando executo collectstatic / compact tudo está ok, vejo os arquivos sendo coletados no S3 e colocados nos locais adequados. Eu vejo o arquivo de manifesto.
Ao carregar qualquer página com a etiqueta do compressor, mostra um erroOfflineGenerationError: You have offline compression enabled but key "d2a53169c44dec41ce3ee7da19b2b9d4" is missing from offline manifest.
Corridapython manage.py compress
novamente não resolve nada. quando eu verifico o arquivo de manifesto, na verdade a chave que ele procura não existe.
o que há de errado aqui?
Pergunta que eu já verifiquei:
Como configurar o django-compressor e o django-staticfiles com o S3 da Amazon?
Compressor Django com URL S3 Heroku
Configurando o django-compressor com armazenamento remoto (django-storage - amazon s3)