Wednesday, June 7, 2023

Re: how to convert to Django 3 or 4

I'd suggest looking into using Adam Johnson's Django-Upgrade told -https://github.com/adamchainz/django-upgrade it will help you move between versions

On Tuesday, 6 June 2023 at 15:24:36 UTC+1 Paul Haguet wrote:
There is a lot of function who can change. 

https://docs.djangoproject.com/en/4.2/releases/4.0/

All the function declared as deprecated into Django 3 has been removed into Django 4. In the deprecated section of django 3 new functions names are systematically indicated. So just search the function under their old name and replace them with their new name. The 2 links below give the list.

https://docs.djangoproject.com/en/4.2/releases/3.0/#deprecated-features-3-0
https://docs.djangoproject.com/en/4.2/releases/3.1/#deprecated-features-3-1

Le samedi 3 juin 2023 à 10:10:31 UTC+2, Shams Ulhaq a écrit :
Just need to change url import 
from django.urls import include, re_path as url

On Sat, 3 Jun 2023, 12:32 David Nugent, <dav...@uniquode.io> wrote:
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 <juw...@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...@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.

--
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...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CAFKhtoSO2XrckAe6uqpYoHYxKnqSm4sm3GkaNZXfUeXGs90Ftw%40mail.gmail.com.

--
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...@googlegroups.com.

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/2752685a-1b1e-476a-a631-f824104cc94bn%40googlegroups.com.

No comments:

Post a Comment