2012-03-08 6 views
1

私はモデルを持っていますが、ImageMagickでサムネイルを作成したいのですが(ラインコマンドでyes)、動作しますが、モデルMedicoImageでフィールド "mini"で作成した画像を関連付けることはできません。ImageFieldを動的に作成するDjango

class MedicoImage(models.Model): 
    medico   = models.ForeignKey(Medico) 
    imagem   = models.ImageField(max_length=300,upload_to='img_medico') 
    mini   = models.ImageField(max_length=300,upload_to='img_medico/mini',verbose_name=u'Miniatura',null=True, blank=True) 


def save(self, *args, **kwargs): 
    super(MedicoImage, self).save(*args, **kwargs) 
    if not self.mini: 
     path_destino = os.path.dirname(self.imagem.path) + '/mini/' 
     path_destino += os.path.basename(self.imagem.path).partition('.')[0] + '_mini' + '.png' 
     comando = 'convert ' + self.imagem.path + ' -resize 30% ' + path_destino 
     if subprocess.call(comando,shell=True) == 0: 
      f = File(open(path_destino,'r')) 
      self.mini(path_destino, f.read()) 
      self.mini.save() 
      print 'Thumbnail created!' 

ここで何が間違っていますか?

  f = File(open(path_destino,'r')) 
      self.mini(path_destino, f.read()) 
      self.mini.save() 
+0

'django.core.files'の' File'を使用していますか? – aganders3

+0

はいインポート中 django.core.filesからインポートファイル – rayashi

答えて

1

だけ使用します。

f = File(open(path_destino,'r')) 
self.mini.save(path_destino, f, True) 

私はそれを行うべきだと思います。

+0

ありがとうございます!できます! – rayashi

関連する問題