动态创建ImageField Djang

2024-04-26 10:42:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个模型,我想用ImageMagick创建一个缩略图(使用line命令是的),它可以工作,但我不能将创建的图像与我的模型MedicoImage中的字段“mini”相关联。在

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!'

这里怎么了?在

^{pr2}$

Tags: path模型selftruemodelssavelengthmax