He intentado configurar un MEDIA_URL para mi aplicación Heroku, que actualmente está publicando archivos estáticos a través de STATIC_URL de Amazon S3. Los archivos estáticos funcionan bien, pero cuando intento agregar un MEDIA_URL además del actual STATIC_URL, las páginas ya no se procesan y la aplicación deja de funcionar.Configuración de MEDIA_URL para la aplicación Django Heroku, Amazon S3
Los ajustes actuales son:
AWS_STORAGE_BUCKET_NAME = 'bucketname'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
S3_URL = 'http://%s.s3.amazonaws.com/' % AWS_STORAGE_BUCKET_NAME
STATIC_URL = S3_URL
AWS_ACCESS_KEY_ID = 'KEY'
AWS_SECRET_ACCESS_KEY = 'SECRET_KEY'
Cuando agrego:
MEDIA_URL = S3_URL
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
que produce el problema. Específicamente, el MEDIA_URL es problemático ya que cuando se elimina DEFAULT_FILE_STORAGE, todavía tiene el mismo problema. Pero estoy tratando de determinar mejor cómo servir a los medios cargados por el usuario a través de esto sin éxito.
Si alguien tiene alguna idea de la mejor manera de lograr esto, sería muy apreciado.
que terminaron configurando simplemente DEFAULT_FILE_STORAG, qué tipo de medio de obras. Algunos medios van directamente a Amazon S3 (imágenes enviadas por el usuario) mientras que otras no. Sin embargo, las fotos que usan sorl están fallando por completo. Tu camino podría funcionar. –
Paso un poco más de tiempo en esto y encontré una manera que funciona bien: utilicé [esta pequeña aplicación] (https://github.com/jamstooks/django-s3-folder-storage) que le permite tener una estática y una carpeta de medios en tu cubo S3. ¡Espero que ayude! – tiwei
¿Cómo se maneja esto con la seguridad? ¿No son públicos todos los archivos? – citynorman