From 4044d7dad919ccfc174ec0e7b7b90cba121edcdf Mon Sep 17 00:00:00 2001 From: Mahdi Date: Sat, 4 Oct 2025 17:02:23 +0330 Subject: [PATCH 1/2] Add Django 5.1 and 5.2 support - Add Django 5.1 and 5.2 classifiers to pyproject.toml - Update changelog to reflect Django 5.1 and 5.2 support --- docs/changes.rst | 2 +- pyproject.toml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/changes.rst b/docs/changes.rst index f2a3011..77e378f 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -16,7 +16,7 @@ v4.0.0 (2024/08/21) * Migrate JavaScript to ES2015 * Fix documentation build * Add linters and formatters (using `ruff`) -* Prepare for Django 5.1 support +* Add support for Django 5.1 and 5.2 * Migrate from `setup.py` to `pyproject.toml` * Bump `tox` * Declare support for Python 3.12 diff --git a/pyproject.toml b/pyproject.toml index 4238492..26c4a21 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -19,6 +19,8 @@ classifiers = [ "Framework :: Django", "Framework :: Django :: 4.2", "Framework :: Django :: 5.0", + "Framework :: Django :: 5.1", + "Framework :: Django :: 5.2", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", From 0f88fe83fa75e2cf7c9f827fc26d3d7a8a6d6438 Mon Sep 17 00:00:00 2001 From: David Cooper Date: Tue, 7 Oct 2025 11:16:51 -0400 Subject: [PATCH 2/2] 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))