Foros del Web » Programando para Internet » Python »

Guardando imágenes en Amazon S3 con Django

Estas en el tema de Guardando imágenes en Amazon S3 con Django en el foro de Python en Foros del Web. Que tal compañeros mios!!! Este post no es para hablarles de las ventajas del tener alojados archivos estáticos en Amazon S3, ojalá ya sepas eso ...
  #1 (permalink)  
Antiguo 30/11/2011, 21:41
Avatar de dual3nigma
Colaborador
 
Fecha de Ingreso: febrero-2010
Ubicación: Ciudad de México
Mensajes: 295
Antigüedad: 14 años, 9 meses
Puntos: 122
Guardando imágenes en Amazon S3 con Django

Que tal compañeros mios!!!

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
  1. # Configuracion de Storage en Amazon S3
  2. DEFAULT_FILE_STORAGE = 'storages.backends.s3.S3Storage'
  3. AWS_ACCESS_KEY_ID = 'XXXXXX'
  4. AWS_SECRET_ACCESS_KEY = 'XXXXXX'
  5. 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
  1. class Usuario(models.Model):
  2.     nombre = models.CharField(max_length=100)
  3.     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!
  #2 (permalink)  
Antiguo 25/04/2014, 08:19
 
Fecha de Ingreso: abril-2014
Mensajes: 5
Antigüedad: 10 años, 7 meses
Puntos: 0
Respuesta: Guardando imágenes en Amazon S3 con Django

hola a todos


OJala me puedan ayudar

Estoy gurdando la imagenes como tu lo dices, pero mi problema y duda es como las muestro en mi template.
En mi views
def home(request):
img=Fotos.objects.all()
template="index.html"
return render_to_response(template,locals(), context_instance=RequestContext(request))

y en el html


% load static from staticfiles %}
{%for ubicacion in img %}



<img id="destacada" src="{% static ubicacion.imagen %}"> </img>

{% endfor%}



Pero me genera error

Muchas gracias por la ayuda
  #3 (permalink)  
Antiguo 25/04/2014, 08:46
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Guardando imágenes en Amazon S3 con Django

No revivas temas, ya tienes un tema aparte con eso
__________________
Grupo Telegram Docker en Español

Etiquetas: amazons3, cdn, django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 21:18.