2014-02-20 3 views
0

Я отправляю электронные письма (в асинхронном режиме, поэтому не ссылается на объект request), и я хотел бы, чтобы языковой стандарт был установлен на что-то еще, что по умолчанию. В частности, я хотел бы изменить десятичные разделители.django - использование локали вне поля зрения

Я думаю, что идеальной задачей было бы хранить в пользовательской модели предпочтительный локаль, чтобы я мог использовать ее всякий раз, когда захочу, когда я выполняю какое-то действие, связанное с этим пользователем.

Тем не менее, я не знаю, как сообщить свой шаблон электронной почты, который используется в локали.

Так 2 вопроса:

  • Где получить локаль пользователя (так что я могу хранить и использовать его позже)?
  • Что еще более важно, зная, что я хочу, например. Французский язык, как сообщить моему шаблону использовать его для отображения десятичных чисел?

ответ

1

Я думаю, что вы можете только изменить язык, и от этого зависит форматирование. В этом случае вы можете сделать что-то вроде этого:

from django.utils.translation import activate 

def my_async_fu(user_id): 
    u = User.objects.fet(id=user_id) 
    activate(u.my_lang_code_field) 
    # Do whatever you want  
Смежные вопросы