1313from django .contrib import messages
1414from django .conf .urls import url
1515from django .utils .safestring import mark_safe
16+ from django .utils .html import escape
1617from . import settings
1718
1819import json
1920
20-
2121def prettify_json (json_string ):
2222 """Given a JSON string, it returns it as a
2323 safe formatted HTML"""
24+ escaped = escape (json_string )
2425 try :
25- data = json .loads (json_string )
26- html = '<pre>' + json .dumps (data , sort_keys = True , indent = 4 ) + '</pre>'
26+ data = json .loads (escaped )
27+ # html = '<pre>' + json.dumps(data, sort_keys=True, indent=4) + '</pre>'
28+ html = json .dumps (data , sort_keys = True , indent = 4 )
2729 except :
28- html = json_string
29- return mark_safe ( html )
30+ html = escaped
31+ return html
3032
3133
3234class EasyAuditModelAdmin (admin .ModelAdmin ):
@@ -38,13 +40,14 @@ def user_link(self, obj):
3840 return '-'
3941 try :
4042 user_model = get_user_model ()
43+ escaped = escape (str (user ))
4144 url = reverse ("admin:%s_%s_change" % (
4245 user_model ._meta .app_label ,
4346 user_model ._meta .model_name ,
4447 ), args = (user .id ,))
45- html = '<a href="%s">%s</a>' % (url , str ( user ) )
48+ html = '<a href="%s">%s</a>' % (url , escaped )
4649 except :
47- html = str (user )
50+ html = escape ( str (user ) )
4851 return mark_safe (html )
4952 user_link .short_description = 'user'
5053
0 commit comments