Memanggil salah satu fungsi ugettext(), ugettext_lazy(), ugettext_noop(), ungettext()
dan ungettext_lazy()
dari django.utils.translation
akan memunculkan peringatan penghentian RemovedInDjango40Warning
.
python -Wall manage.py runserver
/Users/stormh/torchbox/wagtail/wagtail/admin/edit_handlers.py:762: RemovedInDjango40Warning: django.utils.translation.ugettext_lazy() is deprecated in favor of django.utils.translation.gettext_lazy().
'heading': ugettext_lazy('Scheduled publishing'),
ugettext
fungsi telah ditinggalkan di Django 3.0
Alasan penghentian ini adalah karena ini adalah alias lama untuk mitra gettext
. Mereka pernah digunakan untuk kompatibilitas unicode dengan Python 2.7 menurut tiket ini
Kita harus mengganti semua referensi ke ugettext
functions dengan rekan gettext
. Ini seharusnya tidak memiliki pengaruh negatif karena Wagtail tidak lagi mendukung Python 2.7 dan perubahan ini akan kompatibel dengan Django 2.2 LTS.
Sekarang, apakah kita harus buru-buru menerapkan perubahan ini? Tidak terlalu. Fungsi ugettext
dijadwalkan untuk dihapus di Django 4.0. Yang rencananya akan rilis pada tahun 2022 menurut grafik ini saya ambil dari https://www.djangoproject.com/download/
Namun alangkah baiknya untuk menyingkirkan peringatan penghentian yang buruk itu untuk pengalaman-proyek-saya-sepenuhnya-up-to-date 👌
Apakah ada cara untuk membungkam peringatan ini sampai teratasi?
@danihodovic Tergantung pada kasus penggunaan Anda, ini adalah cara Anda menyembunyikannya saat menjalankan pytest.
[pytest]
filterwarnings =
ignore::django.utils.deprecation.RemovedInDjango40Warning
Terima kasih @marteinn !
Diselesaikan di # 5907, tetapi karena sangat mungkin bahwa kejadian baru dapat menyelinap masuk sebagai akibat dari penggabungan PR yang ada, saya akan membiarkan ini terbuka untuk mengingatkan kita untuk melakukan penyapuan lain sebelum rilis 2.9.
Diperiksa ulang, dan tidak ada kejadian baru yang muncul, jadi saya pikir kita semua baik-baik saja 👍
Komentar yang paling membantu
@danihodovic Tergantung pada kasus penggunaan Anda, ini adalah cara Anda menyembunyikannya saat menjalankan pytest.