summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/contrib/admin/templates/admin/change_form.html2
-rw-r--r--django/contrib/admin/templates/admin/edit_inline/stacked.html2
-rw-r--r--django/contrib/admin/templates/admin/includes/fieldset.html2
-rw-r--r--docs/releases/5.1.1.txt3
-rw-r--r--tests/admin_inlines/tests.py7
5 files changed, 13 insertions, 3 deletions
diff --git a/django/contrib/admin/templates/admin/change_form.html b/django/contrib/admin/templates/admin/change_form.html
index 31ff5d6c10..09ef954e5c 100644
--- a/django/contrib/admin/templates/admin/change_form.html
+++ b/django/contrib/admin/templates/admin/change_form.html
@@ -47,7 +47,7 @@
{% block field_sets %}
{% for fieldset in adminform %}
- {% include "admin/includes/fieldset.html" with heading_level=2 id_suffix=forloop.counter0 %}
+ {% include "admin/includes/fieldset.html" with heading_level=2 prefix="fieldset" id_prefix=0 id_suffix=forloop.counter0 %}
{% endfor %}
{% endblock %}
diff --git a/django/contrib/admin/templates/admin/edit_inline/stacked.html b/django/contrib/admin/templates/admin/edit_inline/stacked.html
index 73f459ee47..a6939f4ea2 100644
--- a/django/contrib/admin/templates/admin/edit_inline/stacked.html
+++ b/django/contrib/admin/templates/admin/edit_inline/stacked.html
@@ -26,7 +26,7 @@
{% with parent_counter=forloop.counter0 %}
{% for fieldset in inline_admin_form %}
- {% include "admin/includes/fieldset.html" with heading_level=4 id_prefix=parent_counter id_suffix=forloop.counter0 %}
+ {% include "admin/includes/fieldset.html" with heading_level=4 prefix=fieldset.formset.prefix id_prefix=parent_counter id_suffix=forloop.counter0 %}
{% endfor %}
{% endwith %}
diff --git a/django/contrib/admin/templates/admin/includes/fieldset.html b/django/contrib/admin/templates/admin/includes/fieldset.html
index b4eef47547..a9d3f92702 100644
--- a/django/contrib/admin/templates/admin/includes/fieldset.html
+++ b/django/contrib/admin/templates/admin/includes/fieldset.html
@@ -1,4 +1,4 @@
-{% with prefix=fieldset.formset.prefix|default:"fieldset" id_prefix=id_prefix|default:"0" id_suffix=id_suffix|default:"0" name=fieldset.name|default:""|slugify %}
+{% with name=fieldset.name|default:""|slugify %}
<fieldset class="module aligned {{ fieldset.classes }}"{% if name %} aria-labelledby="{{ prefix }}-{{ id_prefix}}-{{ name }}-{{ id_suffix }}-heading"{% endif %}>
{% if name %}
{% if fieldset.is_collapsible %}<details><summary>{% endif %}
diff --git a/docs/releases/5.1.1.txt b/docs/releases/5.1.1.txt
index b1c9ec4176..743f2753a8 100644
--- a/docs/releases/5.1.1.txt
+++ b/docs/releases/5.1.1.txt
@@ -35,3 +35,6 @@ Bugfixes
* Restored, following a regression in Django 5.1, the ability to override the
timezone and role setting behavior used within the ``init_connection_state``
method of the PostgreSQL backend (:ticket:`35688`).
+
+* Fixed a bug in Django 5.1 where variable lookup errors were logged when
+ rendering admin fieldsets (:ticket:`35716`).
diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py
index 04f0a37e02..2c148a49f0 100644
--- a/tests/admin_inlines/tests.py
+++ b/tests/admin_inlines/tests.py
@@ -1768,6 +1768,13 @@ class TestInlineWithFieldsets(TestDataMixin, TestCase):
def setUp(self):
self.client.force_login(self.superuser)
+ @override_settings(DEBUG=True)
+ def test_fieldset_context_fully_set(self):
+ url = reverse("admin:admin_inlines_photographer_add")
+ with self.assertRaisesMessage(AssertionError, "no logs"):
+ with self.assertLogs("django.template", "DEBUG"):
+ self.client.get(url)
+
def test_inline_headings(self):
response = self.client.get(reverse("admin:admin_inlines_photographer_add"))
# Page main title.