Meningkatkan Django ke versi terbaru

Selama dia dapat menjadi pengolahan rumit terkadang, meningkatkan ke versi Django terakhir mempunyai beberapa keuntungan:

  • Fitur baru dan perbaikan telah ditambahkan.
  • Kesalahan diperbaiki.
  • Versi terlama Django akhirnya tidak lagi menerima pembaharuan keamanan. (lihat Versi didukung).
  • Meningkatkan ketika setiap terbitan Django baru tersedia membuat peningkatan masa depan sedikit menyakitkan dengan menjaga dasar kode anda terbaru.

Ini adalah beberapa hal untuk dipertimbangkan untuk membantu pengolahan membuat peningkatan anda semulus mungkin.

Dibutuhkan Membaca

Jika ini adalah pertama kali melakukan peningkatan, adalah sangat berguna untuk membaca panduan dalam pengolahan terbitan berbeda.

Setelah itu, anda harus akrabkan diri anda dengan perubahan yang telah dibuat di versi Django baru:

  • Baca release notes untuk setiap terbitan 'final' dari satu setelah versi Django saat ini, sampai dan termasuk versi dimana anda berencana untuk ditingkatkan.
  • Lihat deprecation timeline untuk versi bersangkutan.

Bayar perhatian khusus untuk perubahan ketidaksesuaian kebelakang untuk mendapatkan ide jelas dari apa akan dibutuhkan untuk peningkatan yang berhasil.

If you're upgrading through more than one feature version (e.g. 2.0 to 2.2), it's usually easier to upgrade through each feature release incrementally (2.0 to 2.1 to 2.2) rather than to make all the changes for each feature release at once. For each feature release, use the latest patch release (e.g. for 2.1, use 2.1.15).

Pendekatan peningkatan menaik yang sama dianjurkan ketika meningkatkan dari satu LTS ke selanjutnya.

Ketergantungan

Dalam kebanyakan kasus-kasus dia akan butuh ditingkatkan sampai versi terakhir dari ketergantungan hubungan-Django anda juga. Jika versi Django saat ini diterbitkan atau jika beberapa dari ketergantungan tidak dirawat-baik, beberapa dari ketergantungan mungkin tidak mendukung versi Django baru. Dalam kasus ini anda mungkin harus menunggu sampai versi terbaru dari ketergantungan anda diterbitkan.

Menjelaskan peringatan pengusangan

Sebelum meningkatkan, adalah ide bagus untuk menyelesaikan tiap peringatan pengusangan muncul oleh proyek anda selagi menggunakan versi Django anda saat ini. Memperbaiki peringatan ini sebelum meningkatkan memastikan bahwa anda telah diinformasikan tentang kawasan dari kode yang butuh di rubah.

Dalam Python, peringatan pengusangan diam secara awal. Anda harus mernyalakan mereka menggunakan pilihan baris perintah Python -Wa atau variabel lingkungan PYTHONWARNINGS. Sebagai contoh, untuk menunjukkan peringatan selagi menjalankan percobaan:

$ python -Wa manage.py test
...\> py -Wa manage.py test

If you're not using the Django test runner, you may need to also ensure that any console output is not captured which would hide deprecation warnings. For example, if you use pytest:

$ PYTHONWARNINGS=always pytest tests --capture=no

Selesaikan peringatan pengusangan apa saja dengan versi anda saat ini dari Django sebelum menaljutkan pengolahan peningkatan.

Aplikasi pihak ketiga mungkin menggunakan API pengusangan agar mendukung versi banyak dari Django, jadi peringatan pengusangan di paket-paket anda telah pasang tidak perlu menunjukkan sebuah masalah. Jika sebuah paket tidak mendukung versi terakhir dari Django, pertimbangkan menampilkan sebuah masalah atau mengirim pull request untuknya.

Pemasangan

Sekali anda siap, adalah waktunya untuk install the new Django version. Jika anda menggunakan virtualenv dan peningkatan utama, anda mungkin ingin menyetel lingkungan baru dengan ketergantungan terlebih dahulu.

Jika anda memasang Django dengan pip, anda dapat menggunakan bendera --upgrade atau -U

$ python -m pip install -U Django
...\> py -m pip install -U Django

Pengujian

Ketika lingkungan baru disetel, run the full test suite untuk aplikasi anda. Kembali, dia sangat membantu untuk menyalakan peringatan pengusangan sehingga mereka tampil dalam keluaran percobaan (anda dapat juga menggunakan bendera jika anda mencoba aplikasi anda secara manual menggunakan manage.py runserver):

$ python -Wa manage.py test
...\> py -Wa manage.py test

Setelah anda menjalankan percobaan, perbaiki setiap kegagalan. Selagi anda telah menerbitkan catatan segar dalam pikiran anda, itu mungkin juga waktu yang tepat untuk mengambil keuntungan dari fitur baru dalam Django dengan merefaktor kode anda untuk mengurangi setiap peringatan pengusangan.

Penyebaran

Ketika anda cukup percaya diri aplikasi anda bekerja dengan versi baru dari Django, anda siap melanjutkan dan deploy proyek Django anda yang ditingkatkan.

Jika anda menggunakan penembolokan oleh Django, anda harus mempertimbangkan membersihkan tembolok setelah meningkatkan. Jika tidak anda mungkin berjalan kedalam masalah, sebagai contoh, jika anda sedang menembolok obyek pickle dimana obyek ini tidak dijamin untuk menjadi pickle cocok terhadap versi Django. Contoh lama dari ketidakcocokan adalah menembolok obyek HttpResponse pickle, salah satu langsung atau tidak langsung melalui decorator cache_page().

Back to Top