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 lama Django akhirnya akan tidak 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.

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.

Resolving deprecation warnings

Before upgrading, it’s a good idea to resolve any deprecation warnings raised by your project while using your current version of Django. Fixing these warnings before upgrading ensures that you’re informed about areas of the code that need altering.

In Python, deprecation warnings are silenced by default. You must turn them on using the -Wall Python command line option or the PYTHONWARNINGS environment variable. For example, to show warnings while running tests:

$ python -Wall 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 py.test:

$ PYTHONWARNINGS=all py.test tests --capture=no

Resolve any deprecation warnings with your current version of Django before continuing the upgrade process.

Third party applications might use deprecated APIs in order to support multiple versions of Django, so deprecation warnings in packages you’ve installed don’t necessarily indicate a problem. If a package doesn’t support the latest version of Django, consider raising an issue or sending a pull request for it.

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

When the new environment is set up, run the full test suite for your application. Again, it’s useful to turn on deprecation warnings on so they’re shown in the test output (you can also use the flag if you test your app manually using 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 objek pickledimana obyek ini tidak dijamin untuk menjadi pickle cocok terhadap versi Django. Contoh lama dari ketidakcocokan adalah menembolok objek HttpResponse pickle, salah satu langsung atau tidak langsung melalui decorator cache_page().

Back to Top