Fixed #32681 -- Fixed VariableDoesNotExist when rendering some admin template.

Regression in 84609b3205.
This commit is contained in:
Zain Patel 2021-04-24 01:50:27 +01:00 committed by Mariusz Felisiak
parent af609c2f4d
commit 4e5bbb6ef2
5 changed files with 20 additions and 0 deletions

View File

@ -982,6 +982,7 @@ answer newbie questions, and generally made Django that much better:
Zach Liu <zachliu@gmail.com>
Zach Thompson <zthompson47@gmail.com>
Zain Memon
Zain Patel <zain.patel06@gmail.com>
Zak Johnson <zakj@nox.cx>
Žan Anderle <zan.anderle@gmail.com>
Zbigniew Siciarz <zbigniew@siciarz.net>

View File

@ -1890,6 +1890,7 @@ class ModelAdmin(BaseModelAdmin):
context = {
**self.admin_site.each_context(request),
'title': title,
'subtitle': None,
'object_name': object_name,
'object': obj,
'deleted_objects': deleted_objects,
@ -1930,6 +1931,7 @@ class ModelAdmin(BaseModelAdmin):
context = {
**self.admin_site.each_context(request),
'title': _('Change history: %s') % obj,
'subtitle': None,
'action_list': action_list,
'module_name': str(capfirst(opts.verbose_name_plural)),
'object': obj,

View File

@ -524,6 +524,7 @@ class AdminSite:
context = {
**self.each_context(request),
'title': self.index_title,
'subtitle': None,
'app_list': app_list,
**(extra_context or {}),
}
@ -541,6 +542,7 @@ class AdminSite:
context = {
**self.each_context(request),
'title': _('%(app)s administration') % {'app': app_dict['name']},
'subtitle': None,
'app_list': [app_dict],
'app_label': app_label,
**(extra_context or {}),

View File

@ -56,3 +56,6 @@ Bugfixes
with subqueries that began manifesting in Django 3.2, due to a separate fix
using ``Exists`` to ``exclude()`` multi-valued relationships
(:ticket:`32650`).
* Fixed a bug in Django 3.2 where variable lookup errors were logged when
rendering some admin templates (:ticket:`32681`).

View File

@ -1121,6 +1121,18 @@ class AdminViewBasicTest(AdminViewBasicTestCase):
response = self.client.get(reverse('admin:admin_views_city_add'))
self.assertContains(response, 'overridden_name')
def test_render_views_no_subtitle(self):
tests = [
reverse('admin:index'),
reverse('admin:app_list', args=('admin_views',)),
reverse('admin:admin_views_article_delete', args=(self.a1.pk,)),
reverse('admin:admin_views_article_history', args=(self.a1.pk,)),
]
for url in tests:
with self.subTest(url=url):
with self.assertNoLogs('django.template', 'DEBUG'):
self.client.get(url)
@override_settings(TEMPLATES=[{
'BACKEND': 'django.template.backends.django.DjangoTemplates',