diff options
| author | Pravin Kamble <iampbkamble@gmail.com> | 2025-12-17 21:44:48 +0530 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2025-12-17 12:15:18 -0500 |
| commit | 4774adfaa18391854bb5449b4bcb0e9ab5e66b73 (patch) | |
| tree | 1f6a72886a1456c5d5939c65d92149c9605a1f75 | |
| parent | 0d8548e5831bc610102d5e4b8a2366f26818a28a (diff) | |
Fixed #32568 -- Replaced mark_safe() with SafeString for literal values.
Replaced instances of mark_safe('some string literal') with
SafeString to avoid the overhead of managing lazy objects.
Thanks Tim McCurrach for the idea and David Smith and Jacob Walls
for reviews.
| -rw-r--r-- | django/contrib/admin/templatetags/admin_list.py | 8 | ||||
| -rw-r--r-- | django/utils/html.py | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/django/contrib/admin/templatetags/admin_list.py b/django/contrib/admin/templatetags/admin_list.py index 52aae9e589..3aa937c787 100644 --- a/django/contrib/admin/templatetags/admin_list.py +++ b/django/contrib/admin/templatetags/admin_list.py @@ -25,7 +25,7 @@ from django.templatetags.static import static from django.urls import NoReverseMatch from django.utils import formats, timezone from django.utils.html import format_html -from django.utils.safestring import mark_safe +from django.utils.safestring import SafeString, mark_safe from django.utils.text import capfirst from django.utils.translation import gettext as _ @@ -103,11 +103,11 @@ def result_headers(cl): if field_name == "action_checkbox": aria_label = _("Select all objects on this page for an action") yield { - "text": mark_safe( + "text": SafeString( f'<input type="checkbox" id="action-toggle" ' f'aria-label="{aria_label}">' ), - "class_attrib": mark_safe(' class="action-checkbox-column"'), + "class_attrib": SafeString(' class="action-checkbox-column"'), "sortable": False, } continue @@ -256,7 +256,7 @@ def items_for_result(cl, result, form): f, (models.DateField, models.TimeField, models.ForeignKey) ): row_classes.append("nowrap") - row_class = mark_safe(' class="%s"' % " ".join(row_classes)) + row_class = SafeString(' class="%s"' % " ".join(row_classes)) # If list_display_links not defined, add the link tag to the first # field if link_to_changelist: diff --git a/django/utils/html.py b/django/utils/html.py index 68260af337..71122ac79e 100644 --- a/django/utils/html.py +++ b/django/utils/html.py @@ -397,7 +397,7 @@ class Urlizer: attrs=nofollow_attr, url=trimmed, ) - return mark_safe(f"{lead}{middle}{trail}") + return SafeString(f"{lead}{middle}{trail}") else: if safe_input: return mark_safe(word) |
