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.
  • Older version of Django will eventually no longer receive security updates. (see 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.

Jika anda meningkatkan melalui lebih dari sartu versi fitur (sebagai contoh A.B menjadi A.B+2), itu biasanya lebih mudah untuk meningkatkan melalui setiap terbitan fitur menaik (A.B menjadi A.B+1 menjadi A.B+2) daripada membuat semua perubahan untuk setiap terbitan fitur sekaligus. untuk setiap terbitan fitur, gunakan terbitan tambalan terakhir (A.B.C).

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 -Wall atau variabel lingkungan PYTHONWARNINGS. Sebagai contoh, untuk menunjukkan peringatan selagi menjalankan percobaan:

$ python -Wall manage.py test

Jika anda tidak menggunakan penjalan percobaan Django, anda mungkin butuh memastikan bahwa tiap keluaran konsol tidak ditangkap yang akan menyembunyikan peringatan pengusangan. Sebagai contoh, jika anda menggunakan py.test:

$ PYTHONWARNINGS=all py.test 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.

Tepatnya langkah-langkah mana anda akan butuh untuk mengambil ketergantungan pada pengolahan pemasangan anda. Kebanyakan cara mudah adalah menggunakan pip dengan bendera --upgrade atau -U:

$ pip install -U Django

pip juga otomatis melepas versi Django sebelumnya.

Jika anda menggunakan beberapa pengolahan pemasangan lain, anda mungkin harus secara manual uninstall the old Django version dan harus mencari pada perintah pemasangan yang lengkap.

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 -Wall 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