Este post no es para hablarles de las ventajas del tener alojados archivos estáticos en Amazon S3, ojalá ya sepas eso ;)
Frameworks modernos como Django hacen esta tarea súper facilísima con librerías como http://django-storages.readthedocs.o...est/index.html
No como en ciertos viejos CMS (si Wordpress Total Cache, tuuuu).
Lo que más amo de Django Storages es la simplicidad, puedes cambiar entre S3 y local fácilmente. Aquí les pongo un proyecto de ejemplo para que vean lo sencillo que es https://github.com/dual3nigma/HTML5-...aster/djangos3
Lo primero claro es instalar django-storages en el link de arriba pueden encontrar las instrucciones (sencillisimo con pip)
En el código notaran que hay que agregar estos parámetros de configuración
Código Python:
Ver original
# Configuracion de Storage en Amazon S3 DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage' AWS_ACCESS_KEY_ID = 'XXXXXX' AWS_SECRET_ACCESS_KEY = 'XXXXXX' AWS_STORAGE_BUCKET_NAME = 'djangos3'
La primer "constante" le indica a django que se olvide de guardar los archivos y que designe esta tarea a la librería que recién instalamos, aquí hago un paréntesis para mencionar que django-storages te permite almacenar archivos en muchos mas medios como por ejemplo en otro servidor por ftp, etc.
Lo segundo y tercero son las credenciales de Amazon S3. Y por ultimo el Bucket en que se almacenara. Hasta aquí la configuración.
Lo maravilloso es que es lo único extra que tienes que hacer. Tu modelo puede ser así
Código Python:
Ver original
class Usuario(models.Model): nombre = models.CharField(max_length=100) foto = models.ImageField(upload_to='imagenes/usuarios')
y tus imágenes empezaran a subirse a Amazon S3, con los permisos correctos, si no existe la carpeta se creara!!! Es genial ;)
Pruebenlo y me cuentan!
Saludos!