From 76c2074b6b000b51417c37042b3eed80a20ef586 Mon Sep 17 00:00:00 2001 From: Al Wakelin Date: Wed, 8 May 2024 17:07:07 +0200 Subject: [PATCH] Adding support for Django 4.0+ in a non-breaking manor. (Django 4.0+ depreciated conf.urls.url, utils.encoding.force_text, utils.translation.ugettext, and utils.translation.ugettext_lazy. These functions were replaced with re_path, force_str, gettext, and gettext_lazy.) Source: https://docs.djangoproject.com/en/5.0/releases/4.0/#features-removed-in-4-0 --- modelclone/admin.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/modelclone/admin.py b/modelclone/admin.py index 693e0d8..88f773b 100644 --- a/modelclone/admin.py +++ b/modelclone/admin.py @@ -5,10 +5,17 @@ except ImportError: # django < 1.7 from django.contrib.admin.util import unquote -from django.conf.urls import url -from django.utils.encoding import force_text -from django.utils.translation import ugettext as _ -from django.utils.translation import ugettext_lazy as lazy +try: + from django.urls import re_path as url + from django.utils.encoding import force_str as force_text + from django.utils.translation import gettext as _ + from django.utils.translation import gettext_lazy as lazy +except ImportError: + # django < 4.0 + from django.conf.urls import url + from django.utils.encoding import force_text + from django.utils.translation import ugettext as _ + from django.utils.translation import ugettext_lazy as lazy from django.utils.html import escape from django.forms.models import model_to_dict from django.forms.formsets import all_valid