1
翻訳された電子メールをuser.languageの言語設定に従ってユーザーに送信しようとしています。これを行うために、私はBaseMailerServiceからsend_mailメソッドをオーバーライドします。ローカルDjango電子メールの翻訳は、ローカルでのみ動作します
from django.utils.translation import override
class BaseTranslatedMailerService(BaseMailerService):
"""
Renders the acutal content of an email according to the users configurated
language.
"""
def send_mail(self, context, attachments=None):
recipient_obj = context.get('recipient').get('user_obj')
# Default for all language settings is 'en'
with override(recipient_obj.language):
return super(BaseTranslatedMailerService, self).send_mail(context=context,
attachments=attachments)
、私のテストでは、私はそれがのuser.languageに応じてメールの翻訳版を送信するために取得するが、私のサーバー環境ではそれだけで、英語のメールを毎回送信します。たぶん、私は設定する必要がスレッド言語で何かをしなければならない?