2016-04-18 7 views
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に応じてメールの翻訳版を送信するために取得するが、私のサーバー環境ではそれだけで、英語のメールを毎回送信します。たぶん、私は設定する必要がスレッド言語で何かをしなければならない?

答えて

0

私は誤ってgitignoreにすべての* .moファイルを追加して、コンパイルされた言語文字列をデプロイメントプロセスから除外しました。 gitignoreから* .moを削除することで、私の問題は解決しました。

関連する問題