Llamar a cualquiera de las funciones ugettext(), ugettext_lazy(), ugettext_noop(), ungettext()
y ungettext_lazy()
desde django.utils.translation
generará una advertencia de depreciación 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'),
El motivo de la desaprobación es que estos son alias heredados para sus contrapartes correspondientes gettext
. Una vez se usaron para la compatibilidad Unicode con Python 2.7 de acuerdo con este ticket
Deberíamos reemplazar todas las referencias a las funciones ugettext
con sus contrapartes gettext
. Esto no debería tener una influencia negativa porque Wagtail ya no es compatible con Python 2.7 y este cambio sería compatible con Django 2.2 LTS.
Ahora, ¿tenemos que apurarnos en implementar este cambio? No en realidad no. Las funciones ugettext
están programadas para ser eliminadas en Django 4.0. Que está programado para ser lanzado en 2022 de acuerdo con este cuadro que tomé de https://www.djangoproject.com/download/
Sin embargo, sería bueno deshacerse de esas desagradables advertencias de desaprobación para esa experiencia de mi-proyecto-está-completamente-actualizado 👌
¿Hay alguna forma de silenciar esta advertencia hasta que se resuelva?
@danihodovic Depende de su caso de uso, así es como los oculta cuando ejecuta pytest.
[pytest]
filterwarnings =
ignore::django.utils.deprecation.RemovedInDjango40Warning
¡Gracias @marteinn !
Completado en el n. ° 5907, pero dado que es muy posible que se produzcan nuevas ocurrencias como resultado de la fusión de los RP existentes, dejaré esto abierto para recordarnos que hagamos otro barrido antes de la versión 2.9.
Vuelva a verificar y no se han producido nuevos sucesos, así que creo que todos estamos bien 👍
Comentario más útil
@danihodovic Depende de su caso de uso, así es como los oculta cuando ejecuta pytest.