Chamar qualquer uma das funções ugettext(), ugettext_lazy(), ugettext_noop(), ungettext()
e ungettext_lazy()
de django.utils.translation
gerará um aviso de descontinuação de 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'),
O motivo da suspensão é que esses são aliases legados para suas contrapartes gettext
correspondentes. Eles já foram usados para compatibilidade Unicode com Python 2.7 de acordo com este tíquete
Devemos substituir todas as referências às funções ugettext
por suas contrapartes gettext
. Isso não deve ter nenhuma influência negativa porque o Wagtail não suporta mais o Python 2.7 e essa alteração seria compatível com o Django 2.2 LTS.
Agora, temos que nos apressar para implementar essa mudança? Não, na verdade não. As funções ugettext
estão programadas para serem removidas no Django 4.0. Que está programado para ser lançado em 2022 de acordo com este gráfico que tirei de https://www.djangoproject.com/download/
No entanto, seria bom se livrar desses avisos de depreciação desagradáveis para essa experiência meu-projeto-está-totalmente-atualizado 👌
Existe alguma maneira de silenciar este aviso até que seja resolvido?
@danihodovic Depende do seu caso de uso, é assim que você os oculta ao executar o pytest.
[pytest]
filterwarnings =
ignore::django.utils.deprecation.RemovedInDjango40Warning
Obrigado @marteinn !
Concluído em # 5907, mas como é inteiramente possível que novas ocorrências possam surgir como resultado da fusão de PRs existentes, vou deixar isso aberto para nos lembrar de fazer outra varredura antes do lançamento 2.9.
Verifiquei novamente e nenhuma nova ocorrência ocorreu, então acho que estamos todos bem 👍
Comentários muito úteis
@danihodovic Depende do seu caso de uso, é assim que você os oculta ao executar o pytest.