Advertisement
Androide28

MerPiPi

May 2nd, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.39 KB | None | 0 0
  1. # Models.py
  2. #Inicio de la foto
  3. foto = models.ImageField(upload_to='user', null=True, blank=True)
  4.  
  5. @receiver(post_save , sender=UsuarioInformacion, dispatch_uid="update_foto")
  6. def rename_user(sender, instance, update_fields, **kwargs):
  7.     if instance.foto:
  8.         ext = instance.foto.name.split('.')[-1]
  9.         filename = 'user/{}.jpeg'.format(instance.pk)
  10.         direccion = os.path.join(settings.MEDIA_ROOT, instance.foto.name)
  11.         dir_file = os.path.join(settings.MEDIA_ROOT, filename)
  12.  
  13.         baseWidth = 300, 600
  14.         img = Image.open(direccion)
  15.         #widthPercent = (baseWidth / float(img.size[0]))
  16.         #height = int((float(img.size[1]) * float(widthPercent)))
  17.         #img = img.resize((baseWidth, height), Image.BILINEAR)
  18.         img.thumbnail(baseWidth, Image.ANTIALIAS)
  19.         img.save(dir_file, "jpeg")
  20.         #img.save(dir_file)
  21.  
  22.         if str(dir_file) != (direccion):
  23.             os.remove(direccion)
  24.             UsuarioInformacion.objects.filter(pk=instance.pk).update(foto=filename)
  25.  
  26. @receiver(post_delete , sender=UsuarioInformacion, dispatch_uid="delete_foto")
  27. def mymodel_delete(sender, instance, **kwargs):
  28.     if instance.foto:
  29.         instance.foto.delete(False)
  30.  
  31. #Fin de la foto
  32.  
  33.  
  34. #Template
  35. #Inicio Foto
  36. <form method="POST">
  37.     <div class="form-body">
  38.         <div class="form-group">
  39.             <label for="foto">Foto de Perfil</label>
  40.             <input type="file" name="foto" />
  41.         </div>
  42.     </div>
  43.     <button type="submit" class="btn btn-success">Guardar</button>
  44. </form>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement