【问题标题】:Internationalization for Dates in django rest framework?django rest框架中日期的国际化?
【发布时间】:2016-06-15 10:35:09
【问题描述】:

我正在尝试翻译 API 中的日期 (Django rest framework), 以及现在 国际化和本地化 正在为所有其他事情工作,但我被困在 Dates 上。

只有英语和法语,我也重启了几次服务器,但无法在 FR 中获取日期,正如你所见,我使用了Rosetta

示例代码:

@staticmethod
def get_start_date(obj):
    return obj.start_date.strftime("%d %B, %Y")

当语言代码为en时 O/P 是:

start_date": "2016 年 1 月 1 日"

但是当 lang 代码是 fr 预期结果时:

start_date": "01 Janvier, 2016"

还是用英文显示

settings.py 我已成功添加基本设置,仍供您参考

MIDDLEWARE_CLASSES
'django.middleware.locale.LocaleMiddleware',

USE_L10N = True

提前致谢

【问题讨论】:

  • 面临同样的问题..你有解决方案吗?
  • 试过但没有找到合适的解决方案。不要浪费太多时间,尝试任何其他快速修复。我确实使用 jquery 修复了。 @MihaiZamfir
  • 谢谢。我也以自定义解决方案结束,但我认为拥有本机解决方案会更好

标签: python django date internationalization django-rest-framework


【解决方案1】:

这也是 hack,但很有帮助。在 Rest 视图中添加:

import locale
locale.setlocale(locale.LC_TIME, "ru_RU.utf-8")

【讨论】:

    【解决方案2】:

    为了本地化日期,您需要使用 django-babel 包,该包可以轻松地与 django locale 中间件集成。

    查看以下文档。 http://django-babel.readthedocs.io/en/latest/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-02
      • 2018-11-26
      相关资源
      最近更新 更多