django - 使用区域设置

时间:2014-02-20 20:17:41

标签: django localization django-templates

我正在发送电子邮件(以异步方式,因此没有引用request对象),我希望将区域设置设置为默认的其他内容。特别是,我想更改小数分隔符。

我想理想的是,我会在用户模型中存储首选的语言环境,以便在我执行与该用户相关的某些操作时,我可以随时使用它。

但是,我不知道如何告诉我的电子邮件模板使用哪种语言环境。

所以有2个问题:

  • 从何处获取用户的语言环境(以便我可以存储并稍后使用)?
  • 更重要的是,知道我想要,例如。法语区域设置,如何告诉我的模板使用它来显示十进制数?

1 个答案:

答案 0 :(得分: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