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 <
> django...@googlegroups.com> 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 <rogerio.ca...@gmail.com> 
>> 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 <
>>> django...@googlegroups.com> 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 <
>>>> rogerio.ca...@gmail.com> 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, <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
>>>>>>>>>>>  
>>>>>>>>>>> <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...@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...@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
>>>>>>>>>  
>>>>>>>>> <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 
>>>>> django-users...@googlegroups.com.
>>>>> 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 django-users...@googlegroups.com.
>>>> 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 
>>> django-users...@googlegroups.com.
>>> 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 django-users...@googlegroups.com.
>>
> 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 django-users+unsubscr...@googlegroups.com.
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