Foros del Web » Programando para Internet » Python »

Como Incluir Atributo en modulos Django

Estas en el tema de Como Incluir Atributo en modulos Django en el foro de Python en Foros del Web. Hola, estoy tratando de agregar una modificación a este modulo: Cita: http://djangothumbnails.com Estoy tratando de que el slug del titulo de cada articulo renombre la ...
  #1 (permalink)  
Antiguo 29/11/2012, 00:54
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 13 años, 4 meses
Puntos: 5
Como Incluir Atributo en modulos Django

Hola, estoy tratando de agregar una modificación a este modulo:
Cita:
http://djangothumbnails.com
Estoy tratando de que el slug del titulo de cada articulo renombre la imagen con el slug, lo que no he conseguido es como llamar a la variable slug, e intentado import el modelo en thumbs.py pero me da un error, haber os aclaro un poco de lo que tengo:

Código Python:
Ver original
  1. from thumbs import ImageWithThumbsField
  2. class Articulos(models.Model)
  3.     titulo = models.......
  4.     slug = models.....
  5.     miniatura = ImageWithThumbsField(upload_to='images', sizes=((100,167),))
  6.  
  7.    def save()#está función es para separar el slug, no lo pongo todo porque todo esto funciona perfectamente.

La idea es como poder acceder al atributo slug desde el modulo thumbs.py para poder renombrar la imagen con el slug.

Código Python:
Ver original
  1. Linea 54,55
  2. split = self.url.rsplit('.',1)
  3. nombre = split[0]="self.slug" funcionaria si existiera, como puedo acceder a slug del modele
  4. thumb_url = '%s.%sx%s.%s' % (nombre,w,h,split[1])

Muchísimas gracias, por su ayuda.
  #2 (permalink)  
Antiguo 29/11/2012, 06:11
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Como Incluir Atributo en modulos Django

Hola, aqui os dejo algo que he empezado desde cero pero no logro hacerlo funcionar:

Código Python:
Ver original
  1. def create_miniatura(self):
  2.     self.miniatura.seek(0)
  3.     self.slug = defaultfilters.slugify(self.titulo)
  4.     if not self.miniatura:
  5.         return
  6.     size = ((94,124),(200,210))
  7.     a, b = size
  8.     image = Image.open(self.miniatura)
  9.     if image.mode not in ('L', 'RGB', 'RGBA'):
  10.         image = image.convert('RGB')
  11.     image = image.resize(x, Image.ANTIALIAS)
  12.  
  13.     # guardar miniatura en memoria.
  14.     io = cStringIO.StringIO()
  15.     image_type = image.format.lower()
  16.     image.save(io, image_type)
  17. def save(self, *args, **kwargs):
  18.     self.create_miniatura()
  19.     super(Post, self).save(*args,**kwargs)
  #3 (permalink)  
Antiguo 29/11/2012, 23:56
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Como Incluir Atributo en modulos Django

Déjame ver si entendí, quieres que el nombre de la imagen asociada al articulo?

Si es así por que no subes el nombre de la foto con el mismo nombre del articulo en primer lugar?

De cualquier manera upload_to, también acepta una función para generar el nombre del archivo.
  #4 (permalink)  
Antiguo 30/11/2012, 12:02
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Como Incluir Atributo en modulos Django

Hola, la idea es que la imagen tenga el mismo nombre que el articulo asociado exactamente lo que contenga slug.

Si es así por que no subes el nombre de la foto con el mismo nombre del articulo en primer lugar?
Lo que sucede es que son muchas fotos y para renombrarlas manualmente quita mucho tiempo y puede haber algún fallo humano.

Estuve mirando lo que mencionas de upload_to exactamente es filename podría pasarle el atributo slug?
  #5 (permalink)  
Antiguo 30/11/2012, 12:28
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 8 meses
Puntos: 1360
Respuesta: Como Incluir Atributo en modulos Django

Cita:
Iniciado por forosanto Ver Mensaje
Hola, la idea es que la imagen tenga el mismo nombre que el articulo asociado exactamente lo que contenga slug.

Si es así por que no subes el nombre de la foto con el mismo nombre del articulo en primer lugar?
Lo que sucede es que son muchas fotos y para renombrarlas manualmente quita mucho tiempo y puede haber algún fallo humano.

Estuve mirando lo que mencionas de upload_to exactamente es filename podría pasarle el atributo slug?
Leíste el link? En el argumento instance puedes acceder al slug.

Etiquetas: django, gui, import, incluir, modelo, modulos, atributos
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:20.