#35439: Hardcoded HTML in python code. ------------------------------------------------+------------------------ Reporter: sesostris | Owner: nobody Type: Cleanup/optimization | Status: new Component: contrib.admin | Version: 5.0 Severity: Normal | Keywords: Triage Stage: Unreviewed | Has patch: 0 Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | ------------------------------------------------+------------------------ There is a hardcoded snippet of HTML in the django.contrib.admin.templatetags.admin_list module on lines 99 to 110 that will be used in the header of the changelist results table.
https://github.com/django/django/blob/0e445badd54fafc75dd1a5dff9fee6e6a171eafe/django/contrib/admin/templatetags/admin_list.py#L99C1-L110C25 {{{ # if the field is the action checkbox: no sorting and special class if field_name == "action_checkbox": aria_label = _("Select all objects on this page for an action") yield { "text": mark_safe( f'<input type="checkbox" id="action-toggle" ' f'aria-label="{aria_label}">' ), "class_attrib": mark_safe(' class="action-checkbox- column"'), "sortable": False, } continue }}} It would be better to use a CheckboxInput widget to render this HTML element. The code would look like this: {{{ from django.forms import CheckboxInput # if the field is the action checkbox: no sorting and special class if field_name == "action_checkbox": widget = CheckboxInput( attrs={ "aria-label": _( "Select all objects on this page for an action" ), "id": "action-toggle", } ) yield { "text": mark_safe( widget.render(name="action-toggle", value=False) ), "class_attrib": mark_safe(' class="action-checkbox- column"'), "sortable": False, } continue }}} -- Ticket URL: <https://code.djangoproject.com/ticket/35439> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/0107018f58380532-5174af08-89f1-40b2-ad31-061c017a85a6-000000%40eu-central-1.amazonses.com.