trey (owner)

Revisions

gist: 83249 Download_button fork
public
Description:
Admin widget with a thumbnail from sorl.thumbnails
Public Clone URL: git://gist.github.com/83249.git
Embed All Files: show embed
widgets.py #
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from django.utils.safestring import mark_safe
from django.forms.widgets import FileInput
from django.utils.translation import ugettext as _
 
# How to display image from ImageField in ModelAdmin:
# http://groups.google.com/group/django-users/browse_thread/thread/7cfbcc67f3af02b8/0fa00367ff96f8c8
 
class AdminImageFieldWithThumbWidget(FileInput):
    """
For use with sorl-thumbnail (sorl-thumbnail.googlecode.com)
while specifically using ImageWithThumbnailsField. The thumbnail is displayed in the admin.
Your model should contain something like this:
image = ImageWithThumbnailsField(upload_to='img/portfolio', thumbnail={'size': (200, 200)})
"""
    
    def __init__(self):
        super(AdminImageFieldWithThumbWidget, self).__init__({})
    
    def render(self, name, value, attrs=None):
        output = []
        if value and hasattr(value, "url"):
            output.append('<a target="_blank" href="%s">%s</a><br />Replace: ' % (value.url, value.thumbnail_tag))
        output.append(super(AdminImageFieldWithThumbWidget, self).render(name, value, attrs))
        return mark_safe(u''.join(output))