Configurando Amazon S3 do django para static e media

por Fábio Cerqueira | 15 set, 2012 | Tags: django S3

No dia 06/10/2012 será realizado em Fortaleza o V Pylestras. Para o evento o PUG-CE desenvolveu um site usando Django, Heroku e Amazon S3.

Para configurar o Django para trabalhar com Amazon S3 usamos o projeto django-storages. O problema que me deparei foi definir onde ficariam os arquivos de media e static dentro do mesmo bucket.

A dica é definir o location na instância da classe de Storage usada para o S3 e isso pode ser definido da seguinte maneira:

from storages.backends.s3boto import S3BotoStorage

StaticRootS3BotoStorage = lambda: S3BotoStorage(location='static')
MediaRootS3BotoStorage  = lambda: S3BotoStorage(location='media')

Depois bastar adicionar assim no settings:

DEFAULT_FILE_STORAGE = 'path.to.s3utils.MediaRootS3BotoStorage'
MEDIA_URL = 'https://seubucket.s3.amazonaws.com/media/'

STATICFILES_STORAGE = 'path.to.s3utils.StaticRootS3BotoStorage'
STATIC_URL = 'https://seubucket.s3.amazonaws.com/static/'

Assim ficará dividido no seu bucket o static e o media em pastas diferentes.

blog comments powered by Disqus