管理ファイル内で次のことを行うと:
photo = Photo.objects.get(original_image__exact=file_name)
val = photo.admin_thumbnail.url
次のエラーが表示されます。
Caught DoesNotExist while rendering: Photo matching query does not exist.
これが私のクラスです:
class AdminImageWidget(forms.FileInput):
"""
A ImageField Widget for admin that shows a thumbnail.
"""
def __init__(self, attrs={}, *args, **kwargs):
super(AdminImageWidget, self).__init__(attrs)
def render(self, name, value, attrs=None):
output = []
file_name = unicode(value)
if file_name:
photo = Photo.objects.get(original_image__exact=file_name)
val = photo.admin_thumbnail.url
output.append(('<a target="_BLANK" href="%s">'
'<img src="%s" /></a> '
% (val, val)))
output.append(super(AdminImageWidget, self).render(name, value, attrs))
return mark_safe(u''.join(output))
ただし、シェル (python manage.py shell) で実行すると、完全に機能します。
変でしょ?