easy_thumbnailsを使用しており、開発マシンでは正常に動作しますが、本番環境では、{% thumbnail photo.image 300x170 %}
templatetagを使用すると次のようなエラーが発生します。
http://sitename.com/media/ uploads/2012/09/13/microsoft1.jpeg`を直接閲覧できますが。また、メディアが正しく設定され、アップロードが適切な場所に配置されています。何が欠けているのか、何が間違っているのでしょうか。
File "/home/imanhodjaev/lib/python2.7/django/template/base.py" in render
823. bit = self.render_node(node, context)
File "/home/imanhodjaev/lib/python2.7/django/template/debug.py" in render_node
74. return node.render(context)
File "/home/imanhodjaev/lib/python2.7/easy_thumbnails/templatetags/thumbnail.py" in render
99. (source, e))
Exception Type: TemplateSyntaxError at /petition/microsoft-myi-hotim-kyirgyizskij-rasklad-klaviatur/update-picture
Exception Value: Couldn't get the thumbnail uploads/2012/09/13/microsoft1.jpeg: The source file does not appear to be an image
モデル
ThumbnailerImageField
fromeasy_thumbnails
が使用されます
class Petition(models.Model):
title = models.CharField(max_length=512)
slug = models.SlugField(max_length=512, editable=False, blank=True)
description = models.TextField()
petition_text = models.TextField(blank=True, null=True)
petition_picture = ThumbnailerImageField(upload_to=get_upload_path, blank=True)
アップデート
Djangoの管理シェルから調査を行いましたが、関数は正常にget_thumbnailer
機能します
>>> thumb_url = get_thumbnailer(pet.petition_picture)
>>> thumb_url
<ThumbnailerImageFieldFile: uploads/2012/09/13/microsoft1.jpeg>
>>> thumb_url.url
'/m/uploads/2012/09/13/microsoft1.jpeg'
そして、getthumbnailメソッドを呼び出すと失敗します
>>> thumb_url = get_thumbnailer(pet.petition_picture).get_thumbnail(options)
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "/home/imanhodjaev/lib/python2.7/easy_thumbnails/files.py", line 380, in get_thumbnail
thumbnail = self.generate_thumbnail(thumbnail_options)
File "/home/imanhodjaev/lib/python2.7/easy_thumbnails/files.py", line 290, in generate_thumbnail
"The source file does not appear to be an image")
InvalidImageFormatError: The source file does not appear to be an image