Django - 更改语言环境的时间格式

Pie*_*NAY 7 django localization django-templates

我正在开发一个使用l10n的项目.
如果我将区域设置设置为EN并尝试显示时间(08:00),我会得到:

8 a.m.
Run Code Online (Sandbox Code Playgroud)

如果我将语言环境设置为FR,我会得到:

08:00:00
Run Code Online (Sandbox Code Playgroud)

但它应该是这样的:

8h
Run Code Online (Sandbox Code Playgroud)

我为什么要这种格式?我怎样才能获得正确的格式?

Pie*_*NAY 11

显然,没有为FR语言环境设置默认时间格式.

你可以做的是配置格式模块:

# myproject/settings.py
FORMAT_MODULE_PATH = 'myproject.formats'
Run Code Online (Sandbox Code Playgroud)

创造它:

myproject/
    formats/
        __init__.py
        fr/
            __init__.py
            formats.py
Run Code Online (Sandbox Code Playgroud)

并定义法语格式:

# myproject/formats/fr/formats.py
TIME_FORMAT = 'G:i'
Run Code Online (Sandbox Code Playgroud)