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.
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 -Wa
atau variabel lingkungan PYTHONWARNINGS
. Sebagai contoh, untuk menunjukkan peringatan selagi menjalankan percobaan:
$ python -Wa manage.py test
...\> py -Wa 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=always 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.
Jika anda memasang Django dengan pip, anda dapat menggunakan bendera --upgrade
atau -U
$ pip install -U Django
...\> 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()
.