From 0f88fe83fa75e2cf7c9f827fc26d3d7a8a6d6438 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Tue, 7 Oct 2025 11:16:51 -0400 Subject: [PATCH] Use extra_context view kwarg in changelist_view() Currently the `extra_context` kwarg is not used in `changelist_view`, it is completely ignored. However, using it is a common idiom in a `ModelAdmin` view method as a way to provide extra context variables to an overridden template. This is useful if one wants extra context variables in an overridden `admin/constance/change_list.html` template. --- constance/admin.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/constance/admin.py b/constance/admin.py index 43715f0..683c2d2 100644 --- a/constance/admin.py +++ b/constance/admin.py @@ -92,17 +92,18 @@ class ConstanceAdmin(admin.ModelAdmin): messages.add_message(request, messages.SUCCESS, _("Live settings updated successfully.")) return HttpResponseRedirect(".") messages.add_message(request, messages.ERROR, _("Failed to update live settings.")) - context = dict( - self.admin_site.each_context(request), - config_values=[], - title=self.model._meta.app_config.verbose_name, - app_label="constance", - opts=self.model._meta, - form=form, - media=self.media + form.media, - icon_type="svg", - django_version=get_version(), - ) + context = { + **self.admin_site.each_context(request), + **(extra_context or {}), + "config_values": [], + "title": self.model._meta.app_config.verbose_name, + "app_label": "constance", + "opts": self.model._meta, + "form": form, + "media": self.media + form.media, + "icon_type": "svg", + "django_version": get_version(), + } for name, options in settings.CONFIG.items(): context["config_values"].append(self.get_config_value(name, options, form, initial))