从命令行管理命令运行时,Django日期本地化似乎不起作用

qua*_*ess 6 django command-line localization

我有一个{{date|date:"l j F"}}用于本地化日期的模板.当我在视图中使用它时,这工作正常(从任何一个./manage.py runserver或uwsgi服务.

但是,当我使用此模板使用management/commands命令从命令行发送电子邮件时,它会回退到en_US语言环境.(星期五而不是Vrijdag等)

我已经包含settings.LANGUAGE_CODE,settings.USE_L10Nsettings.USE_I18N在模板中确保使用哪个区域设置,然后在两种情况下都按预期显示nl_NL.

有想法该怎么解决这个吗?

qua*_*ess 6

事实证明,必须在管理命令中手动激活翻译:

from django.utils import translation

translation.activate(settings.LANGUAGE_CODE)
Run Code Online (Sandbox Code Playgroud)

做了伎俩.请参阅https://code.djangoproject.com/ticket/10078