diff --git a/django/contrib/admin/utils.py b/django/contrib/admin/utils.py index f704ef3af7..00d8b41129 100644 --- a/django/contrib/admin/utils.py +++ b/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('%s' % ( conditional_escape(value.url), conditional_escape(value), diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py index 8d74f0b53c..6838a12b4d 100644 --- a/tests/admin_widgets/tests.py +++ b/tests/admin_widgets/tests.py @@ -397,6 +397,12 @@ class AdminFileWidgetTests(DjangoTestCase): '', html=True, ) + response = self.client.get(reverse('admin:admin_widgets_album_add')) + self.assertContains( + response, + '

', + html=True, + ) @override_settings(ROOT_URLCONF='admin_widgets.urls')