nppe url is obsolete and removed in 4.x. You can use re_path, which is a kind of replacement but even then you will need to adjust the regex in many cases.
The best approach is to understand what the url() is doing, and replicate the same using path(). Once you do, the conversions should be more or less straight-forward. Instead of regex you use labelled patterns making for more comprehensible path lines. For complex regex expressions you may need to define custom matches - or "converters" - that enforce specific patterns allowing you to restrict input and improve matching. This is one area that Django has improved really well over time. But, like I said, don't try to replace this file wholesale. Instead of converting it and doing error-fix-error-fix ad infinitun, re-implement things as you enable parts of the app you have successfully ported. While re_path may be a fallback, try to re-implement as path() expressions and you'll be better in the long run. On Sat, Jun 3, 2023 at 11:59 AM Muhammad Juwaini Abdul Rahman < juwa...@gmail.com> wrote: > I think Django 4 still have backward compatibility with `url` > although `path` is preferable. > > You can try to `runserver` in your local, upgrade your django version in > your virtualenv to version 4 and troubleshoot the error messages (if any) > one by one. > > On Sat, 3 Jun 2023 at 05:20, john fabiani <jo...@jfcomputer.com> wrote: > >> Hi everyone, >> >> I am tasked with updating/upgrading a very old Django web site - I >> believe it is 1.7. I need convert and need what is required. >> Thanks in advance. >> >> >> I need to convert the following: >> >> from django.conf.urls import patterns, include, url >> from django.contrib import admin >> from django.conf import settings >> from django.conf.urls.static import static >> >> urlpatterns = patterns('', >> # Examples: >> url(r'reg4/$', 'register.views.reg4', name='reg4'), >> url(r'reg3/$', 'register.views.reg3', name='reg3'), >> url(r'reg2/$', 'register.views.reg2', name='reg2'), >> #url(r'reg1/$', 'register.views.reg1', name='reg1'), >> url(r'reg1/$', 'register.views.reg1', name='reg1'), >> #url(r'^$', 'register.views.home', name='home'), >> url(r'reg/$', 'register.views.home', name='home'), >> url(r'get_courts/(\d+)$', 'register.views.get_courts', >> name='get_courts'), >> url(r'get_courses/(\d+)$', 'register.views.get_courses', >> name='get_courses'), >> url(r'autoschedule/', 'register.views.autoschedule', >> name='autoschedule'), >> url(r'get_cities/(\d+)$', 'register.views.get_cities', >> name='get_cities'), >> url(r'get_classes/(\d+)$', 'register.views.get_classes', >> name='get_classes'), >> url(r'get_cities2/(\d+)/(\d+)/$', 'register.views.get_cities2', >> name='get_cities2'), >> url(r'get_classes2/(\d+)/(\d+)/$', 'register.views.get_classes2', >> name='get_classes2'), >> url(r'rejected/$', 'register.views.rejected', name='rejected'), >> url(r'finished/$', 'register.views.finished', name='finished'), >> >> ##url(r'^$', 'profiles.views.home', name='home'), >> #url(r'^contact/$', 'register.views.home', name='contact'), >> #url(r'^about/$', 'register.views.about', name='about'), >> #url(r'^profile/$', 'register.views.user_profile', name='profile'), >> #url(r'^checkout/$', 'checkout.views.checkout', name='checkout'), >> # url(r'^blog/', include('blog.urls')), >> >> url(r'^admin/', include(admin.site.urls)), >> ) + static(settings.STATIC_URL, document_root = settings.STATIC_ROOT) >> >> What is required? >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to django-users+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/8f8a68b4-a3c5-a10d-8246-2ef41635b406%40jfcomputer.com >> <https://groups.google.com/d/msgid/django-users/8f8a68b4-a3c5-a10d-8246-2ef41635b406%40jfcomputer.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/CAFKhtoSO2XrckAe6uqpYoHYxKnqSm4sm3GkaNZXfUeXGs90Ftw%40mail.gmail.com > <https://groups.google.com/d/msgid/django-users/CAFKhtoSO2XrckAe6uqpYoHYxKnqSm4sm3GkaNZXfUeXGs90Ftw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAE5VhgWFkO%3De-msJwFF2Rwxa1yb8gEho72ge2DZcH_1avCx-Sg%40mail.gmail.com.