いずれかの呼び出しugettext(), ugettext_lazy(), ugettext_noop(), ungettext()
とungettext_lazy()
から関数をdjango.utils.translation
発生します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
関数はDjango3.0で非推奨になりました
非推奨の理由は、これらが対応するgettext
対応物のレガシーエイリアスであるためです。 このチケットによると、Python2.7とのUnicode互換性のためにかつて使用されていました
ugettext
関数へのすべての参照を、対応するgettext
置き換える必要があります。 WagtailはPython2.7をサポートしなくなり、この変更はDjango 2.2 LTSと互換性があるため、これによる悪影響はありません。
さて、この変更の実装を急ぐ必要がありますか? いいえ、そうではありません。 ugettext
関数は、Django4.0で削除される予定です。 https://www.djangoproject.com/download/から取得したこのチャートによると、2022年にリリースされる予定です
ただし、my-project-is-fully-up-dateエクスペリエンスに対するこれらの厄介な非推奨の警告を取り除くのは良いことです👌
問題が解決するまでこの警告を消音する方法はありますか?
@danihodovicユースケースによって異なりますが、これはpytestを実行するときにそれらを非表示にする方法です。
[pytest]
filterwarnings =
ignore::django.utils.deprecation.RemovedInDjango40Warning
ありがとう@marteinn !
#5907で完了しましたが、既存のPRをマージした結果、新しいオカレンスが侵入する可能性があるため、これを開いたままにして、2.9リリースの前にもう一度スイープするように通知します。
再確認したところ、新たな出来事は発生していないので、私たちは皆元気だと思います👍
最も参考になるコメント
@danihodovicユースケースによって異なりますが、これはpytestを実行するときにそれらを非表示にする方法です。