里面我有发送电子邮件异步电子邮件尚未翻译的芹菜任务
from djcelery.common import respects_language
@task(ignore_result=True)
@respects_language
def async_send_activation_email(registration_profile):
registration_profile.send_activation_email()
而且
from django.core import context_processors
def send_activation_email(self):
variables = {
'some_variable':'something',
}
context = context_processors.i18n(None) # Allows to easily get all the language information into context. None is passed as the request does not matter for this context_processor.
# Subject
# Email subject *must not* contain newlines
subject = render_to_string(
'user_manager/activation/email_subject.txt',
variables,
context
)
...
上下文包含正确的信息发送激活邮件功能的芹菜任务(在我的情况LANGUAGE ='fr'和其他语言选项)。这是正常的,因为它们是由@respects_language
装饰者正确设置的。
但render_to_string无论如何都使用备用语言。
有关可能发生什么的任何想法?
您是否尝试过使用不同于render_to_string的语言?就像打印一条消息或类似的东西来测试它是否存在。另一件事可能是djcelery没有正确的locale路径设置... –
没有简单的ugettext或ugettext_lazy也无法正常工作。我将查看区域路径问题 – Laucia
就是这样! 非常感谢 – Laucia