我有一个使用 {{date|date:"l j F"}}
的模板本地化日期。当我在 View 中使用它时,它工作正常(来自 ./manage.py runserver
或 uwsgi.
但是,当我使用此模板从命令行使用 management/commands 命令发送电子邮件时,它会回退到 en_US 语言环境。 (星期五而不是 Vrijdag 等)
我已包含 settings.LANGUAGE_CODE
, settings.USE_L10N
和 settings.USE_I18N
在模板中以确保正在使用哪个语言环境,然后在两种情况下都显示 nl_NL,正如预期的那样。
有想法该怎么解决这个吗?
最佳答案
事实证明,必须在管理命令中手动激活翻译:
from django.utils import translation
translation.activate(settings.LANGUAGE_CODE)
成功了。见 https://code.djangoproject.com/ticket/10078
关于从命令行管理命令运行时,Django 日期本地化似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778624/