آموزش ارتقا جنگو به نسخه جدیدتر
با اینکه ارتقا جنگو به نسخههای جدیدتر میتواند فرآیندی پیچیده باشد، اما اینکار چندین مزیت مهم دارد:
- به ویژگیهای جدید و پیشرفته دسترسی خواهید داشت
- مشکلات رفع شدهاند
- نسخههای قدیمی جنگو در نهایت دیگر بهروزرسانیهای امنیتی را دریافت نخواهند کرد. (نسخه های پشتیبانی شده را ببینید).
در اینجا به مواردی اشاره خواهیم کرده که عمل ارتقا نسخه جنگو را برای شما راحتتر میکنند.
دوره پیشنهادی: دوره اول آموزش جنگو(django)
# مواردی که حتما باید بخوانید
اگر برای اولین بار است که میخواهید نسخه یک برنامه جنگویی را ارتقا دهید، پیشنهاد میکنیم راهنمای نسخههای جنگو را مطالعه کنید.
پس از آن، باید خود را با تغییرات ایجاد شده در نسخه(های) جدید جنگو آشنا کنید:
- بخش realese notes مستندات جنگو را مطالعه کنید تا بفهمید که در هر نسخه چه تغییراتی ایجاد شده است.
- بخش Deprecation Timeline را بخوانید تا بفهمید چه مواردی قرار است منسوخ شوند.
مراقب ناسازگاری هایی که ممکن است نسخههای جدید با نسخههای قدیمی داشته باشند، باشید. با اینکار ایده روشنی خواهید داشت که چطور یک ارتقا موفقیت آمیز داشته باشید.
سعی کنید نسخههای جنگو را به طور تدریجی ارتقا دهید. مثلا به جای اینکه به یکباره از نسخه 2.0 به نسخه 2.2 مهاجرت کنید، ابتدا از نسخه 2.0 به نسخه 2.1 رفته و سپس به نسخه 2.2 بروید. همین روش برای ارتقا نسخههای LTS پیشنهاد میشود.
# وابستگیها
در بیشتر موارد لازم است که وابستگی های مربوط به جنگو خود را نیز به آخرین نسخه ارتقا دهید. اگر نسخه جدیدی از جنگو اخیرا منتشر شده است، ممکن است برخی از وابستگی های شما هنوز از نسخه جدید جنگو پشتیبانی نکنند. در این موارد ممکن است مجبور شوید تا انتشار نسخههای جدید وابستگیهایتان صبر کنید.
# رفع هشدارهای منسوخ شدن
قبل از ارتقا به نسخه جدید، میتوانید از نسخه فعلی جنگو بپرسید که چه مواردی قرار است منسوخ شوند. در این حالت جنگو به شما پیغامهایی را نمایش میدهد که چه مواردی قرار است بعد از ارتقا به نسخه جدید حذف شوند. رفع این اخطارها قبل از ارتقا، تضمین میکند که از قسمتهایی از کد که نیاز به تغییر دارند مطلع هستید.
در پایتون، هشدارهایی که درباره منسوخ شدن هستند به طور پیش فرض غیرفعال هستند. باید آنها را با استفاده از گزینه خط فرمان -Wa Python یا متغیر محیطی PYTHONWARNINGS روشن کنید. به عنوان مثال، برای نشان دادن هشدارها در حین اجرای تست از دستور زیر استفاده کنید:
$ python -Wa manage.py test
قبل از ادامه روند ارتقا، هرگونه هشدار منسوخ شدن را با نسخه فعلی جنگو برطرف کنید.
برنامه های شخص ثالث ممکن است از API های منسوخ شده برای پشتیبانی از نسخه های متعدد جنگو استفاده کنند، بنابراین هشدارهای منسوخ شدن در پکیج هایی که نصب کرده اید لزوماً نشان دهنده وجود مشکل نیست. اگر پکیجی از آخرین نسخه جنگو پشتیبانی نمیکند، در گیتهاب یک issue ارسال کنید و یا میتوانید از pull request استفاده کنید.
# نصب
پس از آماده شدن، زمان نصب نسخه جدید جنگو فرا رسیده است. اگر از یک محیط مجازی استفاده می کنید. میتوانید با pip نسخه جنگو را ارتقا دهید:
$ python -m pip install -U Django
بعد از اینکه نسخه جنگو را ارتقا دادید، وقت آن است که برنامه را تست کنید تا مطمئن شوید که مشکلی وجود ندارد. پس از اجرای تست، هر گونه خرابی را برطرف کنید. برای اینکار دوباره از دستور زیر استفاده کنید:
$ python -Wa manage.py test
حالا که تمام مشکلات احتمالی را برطرف کردهاید، میتوانید با خیال راحت برنامه جنگویی خودتان را دیپلوی کنید.