Ah Python 2.7, you'll need to upgrade through to at least 3.8 so unless it's a huge project where you have time to upgrade through the Django Versions and different versions of Python as you go, you may just want to create a new project and lift the code as you go.
On Friday, 9 June 2023 at 15:29:47 UTC+1 Rogerio Carrasqueira wrote: > I'm using python 2.7, wich your suggestion? > > Thanks > > > Rogério Carrasqueira > > > > > > Em sex., 9 de jun. de 2023 às 03:37, 'Steven Mapes' via Django users < > [email protected]> escreveu: > >> If you want to go directly then start a new project and "lift and shift" >> code fixing and updating as you go. Depending on the size of the project >> and the complexity of the processes it may be the fastest way to do it. >> >> If you want to keep the same project then upgrade in stages. The fact >> you're in 1.4 will make it hard and you'll need to do a lot of manual >> changes to get into 1.8 so starting new may well be quicker. If you did >> upgrade then I'd go 1.8 to 1.11, 2.2, 3.2 and finally 4.2. >> >> Branch the code using version control and see how bad it is but it'll >> depend on the project. >> I went from 1.11 to 3.2 in a day for one but most of the code was bespoke >> without may external packages to worry about. Those could also cause you >> issues. >> >> Since the code is Django 1.4 what version of python is it also using? >> >> >> On Thu, Jun 8, 2023, 21:31 Rogerio Carrasqueira <[email protected]> >> wrote: >> >>> So just to undersand, I cannot move directly from 1.4 to 4 I have to do >>> it in steps, right? >>> >>> Thanks >>> Rogério Carrasqueira >>> >>> >>> >>> >>> >>> Em qui., 8 de jun. de 2023 às 17:01, 'Steven Mapes' via Django users < >>> [email protected]> escreveu: >>> >>>> I've used it to go from Django 3 to 4 and to move a project from 1.11 >>>> to 2.2. >>>> >>>> It doesn't do everything for you but it's a great start. I've >>>> personally moved from 1.8 through to 4.2.2 but that was during their >>>> development lifecycle. Moving up to 1.7 and then 1.7 to 1.8 and 1.8 to >>>> 1.11 >>>> and 1.11 to 2 will be the hardest parts but it'll get easier once you're >>>> on >>>> 1.11 >>>> >>>> On Thu, Jun 8, 2023, 19:58 Rogério Carrasqueira < >>>> [email protected]> wrote: >>>> >>>>> Hey Steven! >>>>> >>>>> Thanks for this information, do you have tried it before? I would like >>>>> to move from 1.4 to lastest, do you think that is it possible? >>>>> >>>>> Thanks >>>>> >>>>> Em quarta-feira, 7 de junho de 2023 às 11:52:35 UTC-3, Steven Mapes >>>>> escreveu: >>>>> >>>>>> 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, <[email protected]> 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 < >>>>>>>>> [email protected]> 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 <[email protected]> >>>>>>>>>> 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 [email protected]. >>>>>>>>>>> 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 [email protected]. >>>>>>>>>> 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 [email protected]. >>>>>>>>> >>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/django-users/CAE5VhgWFkO%3De-msJwFF2Rwxa1yb8gEho72ge2DZcH_1avCx-Sg%40mail.gmail.com >>>>>>>>> >>>>>>>>> <https://groups.google.com/d/msgid/django-users/CAE5VhgWFkO%3De-msJwFF2Rwxa1yb8gEho72ge2DZcH_1avCx-Sg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "Django users" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/django-users/IZM9YwsfzX4/unsubscribe >>>>> . >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/django-users/c9680819-15cb-47ba-b81e-cb1ce1d65eden%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/django-users/c9680819-15cb-47ba-b81e-cb1ce1d65eden%40googlegroups.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 [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/django-users/CADpgbkmnm0VzFvfyOTwwZCaACjpwqrfN9LhxoxO8RL%2BE9hpcpA%40mail.gmail.com >>>> >>>> <https://groups.google.com/d/msgid/django-users/CADpgbkmnm0VzFvfyOTwwZCaACjpwqrfN9LhxoxO8RL%2BE9hpcpA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to a topic in the >>> Google Groups "Django users" group. >>> To unsubscribe from this topic, visit >>> https://groups.google.com/d/topic/django-users/IZM9YwsfzX4/unsubscribe. >>> To unsubscribe from this group and all its topics, send an email to >>> [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CACX1ULT%3DeAQUZJtfYQBOnv9d5yURKdKr7WBVaMHkrMZkVy-rsQ%40mail.gmail.com >>> >>> <https://groups.google.com/d/msgid/django-users/CACX1ULT%3DeAQUZJtfYQBOnv9d5yURKdKr7WBVaMHkrMZkVy-rsQ%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 [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/CADpgbk%3DP86q0nehiY8FXpVam%3DP%3DYXKsMOXmfpzfCfWDfffDSmg%40mail.gmail.com >> >> <https://groups.google.com/d/msgid/django-users/CADpgbk%3DP86q0nehiY8FXpVam%3DP%3DYXKsMOXmfpzfCfWDfffDSmg%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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/99b44a06-f11a-406b-aae2-b526bc436596n%40googlegroups.com.

