mirror of https://github.com/django/django.git
Fixed #766 -- Custom methods in admin.list_display can now have an allow_tags attribute, which doesn't strip tags in the methods' output. Thanks, plisk
git-svn-id: http://code.djangoproject.com/svn/django/trunk@1174 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
cb222e4d4e
commit
632b63ad76
|
@ -388,10 +388,16 @@ def change_list(request, app_label, module_name):
|
||||||
except meta.FieldDoesNotExist:
|
except meta.FieldDoesNotExist:
|
||||||
# For non-field list_display values, the value is a method
|
# For non-field list_display values, the value is a method
|
||||||
# name. Execute the method.
|
# name. Execute the method.
|
||||||
|
func = getattr(result, field_name)
|
||||||
try:
|
try:
|
||||||
result_repr = strip_tags(str(getattr(result, field_name)()))
|
result_repr = str(func())
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
result_repr = EMPTY_CHANGELIST_VALUE
|
result_repr = EMPTY_CHANGELIST_VALUE
|
||||||
|
else:
|
||||||
|
# Strip HTML tags in the resulting text, except if the
|
||||||
|
# function has an "allow_tags" attribute set to True.
|
||||||
|
if not getattr(func, 'allow_tags', False):
|
||||||
|
result_repr = strip_tags(result_repr)
|
||||||
else:
|
else:
|
||||||
field_val = getattr(result, f.attname)
|
field_val = getattr(result, f.attname)
|
||||||
# Foreign-key fields are special: Use the repr of the
|
# Foreign-key fields are special: Use the repr of the
|
||||||
|
|
Loading…
Reference in New Issue