Browse Source

Refs #14497 -- Handled empty readonly admin FileFields

Collin Anderson 10 years ago
parent
commit
07cfe1bd82
2 changed files with 7 additions and 1 deletions
  1. 1 1
      django/contrib/admin/utils.py
  2. 6 0
      tests/admin_widgets/tests.py

+ 1 - 1
django/contrib/admin/utils.py

@@ -388,7 +388,7 @@ def display_for_field(value, field):
         return formats.number_format(value, field.decimal_places)
     elif isinstance(field, models.FloatField):
         return formats.number_format(value)
-    elif isinstance(field, models.FileField):
+    elif isinstance(field, models.FileField) and value:
         return mark_safe('<a href="%s">%s</a>' % (
             conditional_escape(value.url),
             conditional_escape(value),

+ 6 - 0
tests/admin_widgets/tests.py

@@ -396,6 +396,12 @@ class AdminFileWidgetTests(DjangoTestCase):
             '<input type="file" name="cover_art" id="id_cover_art" />',
             html=True,
         )
+        response = self.client.get(reverse('admin:admin_widgets_album_add'))
+        self.assertContains(
+            response,
+            '<p></p>',
+            html=True,
+        )
 
 
 @override_settings(ROOT_URLCONF='admin_widgets.urls')