From 1eac2659a102d42490f9401b08782633fa51f3e3 Mon Sep 17 00:00:00 2001 From: Jacob Walls Date: Wed, 17 Dec 2025 09:27:01 -0500 Subject: [PATCH] Fixed #36807 -- Fixed form field alignment under
in the admin. It isn't safe to set display: flex on
, because on Safari this interferes with display: block on child divs. Thanks Paulo Coutinho for the report and Antoliny for the review. Regression in 4187da258fe212d494cb578a0bc2b52c4979ab95. --- django/contrib/admin/static/admin/css/forms.css | 8 ++------ django/contrib/admin/static/admin/css/responsive.css | 4 ++++ .../admin/templates/admin/auth/user/change_password.html | 2 +- .../contrib/admin/templates/admin/includes/fieldset.html | 2 +- docs/releases/6.0.1.txt | 3 +++ tests/auth_tests/test_views.py | 3 +-- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/django/contrib/admin/static/admin/css/forms.css b/django/contrib/admin/static/admin/css/forms.css index 76e2d493e9..6d13d43350 100644 --- a/django/contrib/admin/static/admin/css/forms.css +++ b/django/contrib/admin/static/admin/css/forms.css @@ -102,7 +102,7 @@ fieldset .inline-heading, } .aligned legend { - float: left; + float: inline-start; } .aligned legend, @@ -148,15 +148,11 @@ form .aligned ul { } form .aligned div.radiolist { - display: inline-block; + display: block; margin: 0; padding: 0; } -form .aligned fieldset div.help { - margin-left: 0; -} - form .aligned p.help, form .aligned div.help { margin-top: 0; diff --git a/django/contrib/admin/static/admin/css/responsive.css b/django/contrib/admin/static/admin/css/responsive.css index fbf0d88b40..93abf79953 100644 --- a/django/contrib/admin/static/admin/css/responsive.css +++ b/django/contrib/admin/static/admin/css/responsive.css @@ -560,6 +560,10 @@ input[type="submit"], button { margin-top: 5px; } + form .aligned fieldset div.flex-container { + display: unset; + } + /* Related widget */ .related-widget-wrapper { diff --git a/django/contrib/admin/templates/admin/auth/user/change_password.html b/django/contrib/admin/templates/admin/auth/user/change_password.html index 08d191b765..d3e546d28d 100644 --- a/django/contrib/admin/templates/admin/auth/user/change_password.html +++ b/django/contrib/admin/templates/admin/auth/user/change_password.html @@ -40,7 +40,7 @@
{{ form.usable_password.errors }} -
{{ form.usable_password.legend_tag }} {{ form.usable_password }}
+
{{ form.usable_password.legend_tag }} {{ form.usable_password }}
{% if form.usable_password.help_text %}

{{ form.usable_password.help_text|safe }}

diff --git a/django/contrib/admin/templates/admin/includes/fieldset.html b/django/contrib/admin/templates/admin/includes/fieldset.html index aa8d94b41d..1fd303ea82 100644 --- a/django/contrib/admin/templates/admin/includes/fieldset.html +++ b/django/contrib/admin/templates/admin/includes/fieldset.html @@ -11,7 +11,7 @@
{% if line.fields|length == 1 %}{{ line.errors }}{% else %}
{% endif %} {% for field in line %} - {% if field.is_fieldset %}
{{ field.label_tag }}{% endif %} + {% if field.is_fieldset %}{{ field.label_tag }}{% endif %}
{% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %}
diff --git a/docs/releases/6.0.1.txt b/docs/releases/6.0.1.txt index 1580512409..790fa76e99 100644 --- a/docs/releases/6.0.1.txt +++ b/docs/releases/6.0.1.txt @@ -24,3 +24,6 @@ Bugfixes * Fixed a regression in Django 6.0 that caused :meth:`~django.db.models.query.QuerySet.bulk_create` to crash when introspecting the connection on SQLite (:ticket:`36818`). + +* Fixed a visual regression in Django 6.0 for admin form fields grouped under a + ``
`` in Safari (:ticket:`36807`). diff --git a/tests/auth_tests/test_views.py b/tests/auth_tests/test_views.py index a3863b6233..d7d59d9fc0 100644 --- a/tests/auth_tests/test_views.py +++ b/tests/auth_tests/test_views.py @@ -1555,8 +1555,7 @@ class ChangelistTests(MessagesTestMixin, AuthViewsTestCase): # Usable password field. self.assertContains( response, - '
' - "Password-based authentication:", + "
Password-based authentication:", ) # Submit buttons self.assertContains(response, '