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.
This commit is contained in:
David Cooper 2025-10-07 11:16:51 -04:00
parent c6b2c44671
commit 0f88fe83fa

View file

@ -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))