2016-04-18 3 views
1

Я пытаюсь отправить переведенные электронные письма своим пользователям в соответствии с их языком, установленным в user.language. Для этого я переопределяю метод send_mail из моего BaseMailerService.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

Появление я случайно добавил все * .mo файлы в мой gitignore, из-за чего мои скомпилированные языковые строки исключаются из процесса развертывания. Удаление * .mo из gitignore для этого решена моя проблема.

Смежные вопросы