我在尝试显示较大图像的缩略图时收到上述错误。全尺寸图像工作正常。
以下是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, folder, 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), folder, 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>
有没有人对可能导致此问题的原因有任何想法?
答案 0 :(得分:0)
我认为im.save
如果不存在则不会创建目录。最好使用所需路径创建空文件,打开它然后将图像保存到其中。