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.

Reply via email to