问题描述
||
尝试显示较大图像的缩略图时出现上述错误。全尺寸图像效果很好。
这是models.py文件中图像定义的代码。
def _get_thumb_url(self,folder,size):
\"\"\" get a thumbnail giver a folder and a size. \"\"\"
if not self.coverart:
return \'#\'
upload_to = path.dirname(self.coverart.path)
tiny = path.join(upload_to,path.basename(self.coverart.path))
tiny = path.normpath(tiny)
if not path.exists(tiny):
import Image
im = Image.open(self.coverart.path)
im.thumbnail(size,Image.ANTIALIAS)
im.save(tiny,\'JPEG\')
return path.join(path.dirname(self.coverart.url),path.basename(self.coverart.path))
def get_thumb_url(self):
return self._get_thumb_url(\'thumb_100_100\',(100,100))
def thumb(self):
\"\"\" Get thumb <a>. \"\"\"
link = self.get_thumb_url()
if link is None:
return \'<a href=\"#\" target=\"_blank\">NO IMAGE</a>\'
else:
return \'<img src=%s />\' % (link)
thumb.allow_tags = True
def fullpicture(self):
\"\"\" Get full picture <a>. \"\"\"
link = \"%s%s\" % (settings.MEDIA_URL,self.coverart)
if link is None:
return \'<a href=\"#\" target=\"_blank\">NO IMAGE</a>\'
else:
return \'<img src=%s />\' % (link)
thumb.allow_tags = True
这是导致我的模板文件出现问题的行:
<div class=\"coverart\" >{{ spmodel.thumb|safe }}</div>
如果我改为它,则图像显示正常(显然不是缩略图,尽管这是我想要的):
<div class=\"coverart\" >{{ sp.fullpicture|safe }}</div>
是否有人对导致此问题的原因有任何想法?
解决方法
我认为
im.save
如果目录不存在,则不会创建目录。最好创建具有所需路径的空文件,将其打开,然后将图像保存到该文件。