diff --git a/rest_framework/templates/rest_framework/admin/list_value.html b/rest_framework/templates/rest_framework/admin/list_value.html
index cff15635e..267bbaa39 100644
--- a/rest_framework/templates/rest_framework/admin/list_value.html
+++ b/rest_framework/templates/rest_framework/admin/list_value.html
@@ -1,5 +1,5 @@
{% load rest_framework %}
-
-{% for item in value %}{% if not forloop.first%}, {% endif %}{{item.name}}{% endfor %}
diff --git a/rest_framework/templates/rest_framework/admin/simple_list_value.html b/rest_framework/templates/rest_framework/admin/simple_list_value.html
index 2dcaeb62f..e378a36b6 100644
--- a/rest_framework/templates/rest_framework/admin/simple_list_value.html
+++ b/rest_framework/templates/rest_framework/admin/simple_list_value.html
@@ -1 +1,2 @@
-{% for item in value %}{% if not forloop.first%},{% endif %} {% if item.is_hyperlink %}{{item.name}}{% else %}{{ item }}{% endif %}{% endfor %}
+{% load rest_framework %}
+{% for item in value %}{% if not forloop.first%},{% endif %} {{item|format_value}}{% endfor %}
diff --git a/rest_framework/templatetags/rest_framework.py b/rest_framework/templatetags/rest_framework.py
index 10ad658bd..d8b906eb7 100644
--- a/rest_framework/templatetags/rest_framework.py
+++ b/rest_framework/templatetags/rest_framework.py
@@ -108,8 +108,10 @@ def add_class(value, css_class):
@register.filter
def format_value(value):
+ if getattr(value, 'is_hyperlink', False):
+ return mark_safe('%s' % (value, escape(value.name)))
if isinstance(value, (int, float, decimal.Decimal, bool, type(None))):
- return mark_safe('%s
' % value)
+ return mark_safe('%s
' % escape(value))
elif isinstance(value, list):
if any([isinstance(item, (list, dict)) for item in value]):
template = loader.get_template('rest_framework/admin/list_value.html')