mirror of
https://github.com/Hopiu/django-imagekit.git
synced 2026-03-16 21:30:23 +00:00
Arguments were in the wrong order. Also, shows class name in string representation of instance isn't helpful.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from django.utils.translation import ugettext_lazy as _
|
|
from django.template.loader import render_to_string
|
|
|
|
|
|
class AdminThumbnail(object):
|
|
"""
|
|
A convenience utility for adding thumbnails to Django's admin change list.
|
|
|
|
"""
|
|
short_description = _('Thumbnail')
|
|
allow_tags = True
|
|
|
|
def __init__(self, image_field, template=None):
|
|
"""
|
|
:param image_field: The name of the ImageField or ImageSpec on the
|
|
model to use for the thumbnail.
|
|
:param template: The template with which to render the thumbnail
|
|
|
|
"""
|
|
self.image_field = image_field
|
|
self.template = template
|
|
|
|
def __call__(self, obj):
|
|
thumbnail = getattr(obj, self.image_field, None)
|
|
|
|
if not thumbnail:
|
|
raise Exception('The property %s is not defined on %s.' % \
|
|
(self.image_field, obj.__class__.__name__))
|
|
|
|
original_image = getattr(thumbnail, 'source_file', None) or thumbnail
|
|
template = self.template or 'imagekit/admin/thumbnail.html'
|
|
|
|
return render_to_string(template, {
|
|
'model': obj,
|
|
'thumbnail': thumbnail,
|
|
'original_image': original_image,
|
|
})
|