[Django-es] subir Multiples Imagenes en el admin

805 views
Skip to first unread message

Ricardo

unread,
Apr 27, 2010, 1:43:19 PM4/27/10
to Django-es
Hola a toda la comununidad

Se puede subir multiples imagenes en el admin de django
alguna modificacion al tipo "ImageField" ?

He visto algunos ejemplo en internet, pero no me queda claro


por cualquier ayuda muchas gracias
Saludos

--
Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a djan...@googlegroups.com
Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
Para obtener más opciones, visita este grupo en http://groups.google.com.bo/group/django-es.

Subscription settings: http://groups.google.com/group/django-es/subscribe?hl=es

Juan Pablo Martínez

unread,
Apr 27, 2010, 1:50:26 PM4/27/10
to djan...@googlegroups.com
mmm,
subir multiples imagenes claro que se puede
pero depende siempre de tu modelo de datos

si queres pone el modelo de datos aca y te digo si podes de esa manera


El 27 de abril de 2010 14:43, Ricardo <ricardo.rod...@gmail.com> escribió:
He visto algunos ejemplo en internet, pero no me queda cl



--
:: juanpex

Ricardo

unread,
Apr 27, 2010, 3:33:52 PM4/27/10
to Django-es
Hola Juan

tengo un modelo simple( pero este me permite subir de una sola imagen
a la vez) y necesito cargar varias, para no andar de una por una en el
admin
no ocupo el tipo de dato "Imagefield", utilizo la libreria
"ImageWithThumbsField", para poder generar imagenes en miniatura

----------------------------------------------------------------------------------
from thumbs import ImageWithThumbsField

class TipoImagen(models.Model):
nombre = models.CharField(max_length = 50)

def __unicode__(self):
return self.nombre


class Imagen(models.Model):
nombre = models.CharField(max_length = 100,verbose_name =
"Nombre Imagen")
image = ImageWithThumbsField(upload_to = 'imagenes', sizes =
((150,150),(300,300)))
tipo = models.ForeignKey(TipoImagen)

def __unicode__(self):
return self.nombreImg
--------------------------------------------------------------------------------------------
--
Saludos
Gracias

On 27 abr, 13:50, Juan Pablo Martínez <jpm...@gmail.com> wrote:
> mmm,
> subir multiples imagenes claro que se puede
> pero depende siempre de tu modelo de datos
>
> si queres pone el modelo de datos aca y te digo si podes de esa manera
>
> El 27 de abril de 2010 14:43, Ricardo
> <ricardo.rodriguez.l...@gmail.com>escribió:
>
> > He visto algunos ejemplo en internet, pero no me queda cl
>
> --
> :: juanpex
>
> --
> Ha recibido este mensaje porque está suscrito a Grupo "Grupo de Usuarios del Framework Django de habla hispana" de Grupos de Google.
>  Si quieres publicar en este grupo, envía un mensaje de correo
> electrónico a djan...@googlegroups.com
>  Para anular la suscripción a este grupo, envíe un mensaje a django-es-...@googlegroups.com
>  Para obtener más opciones, visita este grupo enhttp://groups.google.com.bo/group/django-es.
>
> Subscription settings:http://groups.google.com/group/django-es/subscribe?hl=es

Juan Pablo Martínez

unread,
Apr 27, 2010, 4:27:33 PM4/27/10
to djan...@googlegroups.com
from thumbs import ImageWithThumbsField

class TipoImagen(models.Model):
   nombre   =  models.CharField(max_length = 50)

   def __unicode__(self):
       return self.nombre

class Imagen(models.Model):
   nombre   =  models.CharField(max_length = 100,verbose_name =
"Nombre Imagen")
   def __unicode__(self):
       return self.nombreImg

class ImagenArchive(models.Model):
   imagen = models.ForeignKey(Imagen)
   file     =  ImageWithThumbsField(upload_to = 'imagenes', sizes =
((150,150),(300,300)))
   tipo         =  models.ForeignKey(TipoImagen)

  

y en el admin algo asi

class ImageArchive(admin.TabularInline):
    model = ImagenArchive
    extra = 3

class ImageAdmin(admin.ModelAdmn):
   inlines = [ImageArchive, ]


site.register(Image, ImageAdmin)



espero te sirva :)




El 27 de abril de 2010 16:33, Ricardo <ricardo.rod...@gmail.com> escribió:
from thumbs import ImageWithThumbsField

class TipoImagen(models.Model):
   nombre   =  models.CharField(max_length = 50)

   def __unicode__(self):
       return self.nombre


class Imagen(models.Model):
   nombre   =  models.CharField(max_length = 100,verbose_name =
"Nombre Imagen")
   image     =  ImageWithThumbsField(upload_to = 'imagenes', sizes =
((150,150),(300,300)))
   tipo         =  models.ForeignKey(TipoImagen)

   def __unicode__(self):
       return self.nombreImg



lord.carcas

unread,
Apr 27, 2010, 10:53:39 PM4/27/10
to djan...@googlegroups.com
cabe aclarar que lo que puso Juan Pablo esta correcto pero falta explicar que el extrea = 3 es lo que te permite subir 3 imagenes a la ves ahi debes de poner la cantidad e imagenes que queras subir creo que la version de django 1.2 trae algo nuevo con respecto a esto un boton para ir ingresando uno nuevo dinamicamente con solo poner extra = 0 creo aun no lo probado muy bien pero con lo que te puso juan creo que es suficiente

Ricardo

unread,
Apr 28, 2010, 5:19:28 PM4/28/10
to Django-es
Hola Muchas gracias, me demore un poco porque estuve leyendo la
documentación del admin, pero me funciono, así que muchas gracias

pero como hacer para que subir varias imágenes de un solo input ?


otra cosa, por que dejaste esta estructura, por que un modelo "Imagen"
y "ImagenArchive", alguna razon en especial

class Imagen(models.Model):
nombre = models.CharField(max_length = 100,verbose_name =
"Nombre Imagen")

def __unicode__(self):
return self.nombre

class ImagenArchive(models.Model):
imagen = models.ForeignKey(Imagen)
file = ImageWithThumbsField(upload_to='imagenes/%Y/%m/%d',
sizes =((150,150),(300,300)))
tipo = models.ForeignKey(TipoImagen)

def __unicode__(self):
return self.imagen

---------------
Saludos
>  Para obtener más opciones, visita este grupo enhttp://groups.google.com.bo/group/django-es.

Juan Pablo Martínez

unread,
Apr 28, 2010, 5:50:16 PM4/28/10
to djan...@googlegroups.com
si
en realidad viene por lo de "attibuto multivalorado"

para tener varias imagenes relacionadas a un modelo
el diseño correcto debe ser ese
podrias hacerlo de 2 maneras
una es diciendole a tu modelo

images = manytomany(file)
pero no ayuda mucho en input o admin como queres

pero referenciando desde file a images es distinta
porque ahi puedes utilizar los inlines :)


para subir varias imagenes solo tenes que agregar en
el model.TabularInline o StackedInline que tengas
los extra que quieras

extra = 10
te va a poner 10 lugares para ingresar imagenes de una sola vez
Reply all
Reply to author
Forward
0 new messages