تغییرات django در python3 نسبت به python2

زمان مطالعه: < 1 دقیقه

با سلام و درود، خب امروز بنا به دلایلی پروژه ای که داشتم کار می کردم رو مجبور شدم که از پایتون ۲.۷ به پایتون ۳.۶ پورت کنم. پورت کردن همانا و بر خوردن به ارور های فراوان در django همانا.

۱- اولین مشکلی که داشتم این بود که __unicode__ رو دیگه نمیشناخت!

خب برای حل مشکل کافیه کد زیر رو به بالای کد پایتونتون اضافه کنید:

from __future__ import unicode_literals

۲- مشکل با  __UNICODE__ به روش زیر نیز حل میشه.

بالای تابعی که از __UNICODE__ استفاده کردید کافیه خط زیر رو اضافه کنید و همچنین __UNICODE__ رو با __STR__ تغییر بدید.

@python_2_unicode_compatible

۳- ارور NameError: name ‘include’ is not defined، خب برای حل مشکل کافیه IMPORT  زیر رو اضافه کنید:

from django.conf.urls import include

۴- نشناختن URL() درون urlpatterns ، اما مشکل از کجاست! از اینجاست که url با path جایگزین شده است.

۵- امکان داره به import های مختلفی به صورت زیر ارور بده:

ImportError: No module named

که جلوی named نام ماژولی که باهاش مشکل داره رو نوشته، تو اکثر این موارد کافیه اون واژول رو با pip3 نصب کنید تا مشکل حل شه.

 

این پست هر دفعه بروز میشه 🙂