Index: django/db/models/fields/__init__.py
===================================================================
--- django/db/models/fields/__init__.py	(revision 7922)
+++ django/db/models/fields/__init__.py	(working copy)
@@ -901,8 +901,9 @@
         return super(FloatField, self).formfield(**defaults)
 
 class ImageField(FileField):
-    def __init__(self, verbose_name=None, name=None, width_field=None, height_field=None, **kwargs):
+    def __init__(self, verbose_name=None, name=None, width_field=None, height_field=None, admin_preview=False, **kwargs):
         self.width_field, self.height_field = width_field, height_field
+        self.admin_preview = admin_preview
         FileField.__init__(self, verbose_name, name, **kwargs)
 
     def get_manipulator_field_objs(self):
Index: django/contrib/admin/options.py
===================================================================
--- django/contrib/admin/options.py	(revision 7922)
+++ django/contrib/admin/options.py	(working copy)
@@ -173,7 +173,13 @@
             return db_field.formfield(**kwargs)
 
         # For FileFields and ImageFields add a link to the current file.
-        if isinstance(db_field, models.ImageField) or isinstance(db_field, models.FileField):
+        if isinstance(db_field, models.ImageField):
+            if db_field.admin_preview:
+                kwargs['widget'] = widgets.AdminImageWidget
+            else:
+                kwargs['widget'] = widgets.AdminFileWidget 
+            return db_field.formfield(**kwargs)
+        elif isinstance(db_field, models.ImageField) or isinstance(db_field, models.FileField):
             kwargs['widget'] = widgets.AdminFileWidget
             return db_field.formfield(**kwargs)
 
Index: django/contrib/admin/widgets.py
===================================================================
--- django/contrib/admin/widgets.py	(revision 7922)
+++ django/contrib/admin/widgets.py	(working copy)
@@ -93,6 +93,19 @@
         output.append(super(AdminFileWidget, self).render(name, value, attrs))
         return mark_safe(u''.join(output))
 
+class AdminImageWidget(AdminFileWidget):
+    """
+    Just like AdminFileWidget but adds image to admin page.
+    """
+    def render(self, name, value, attrs=None):
+        from django.conf import settings
+        output = []
+        if value:
+            output.append('<img src="%s%s" /> <br />' % (settings.MEDIA_URL, value))
+        output.append(super(AdminImageWidget, self).render(name, value, attrs))
+        return mark_safe(u''.join(output))
+    
+
 class ForeignKeyRawIdWidget(forms.TextInput):
     """
     A Widget for displaying ForeignKeys in the "raw_id" interface rather than
