【发布时间】:2022-01-04 09:43:48
【问题描述】:
根据 Django docs,与一般的 USE_L10N = True 设置相比,localize 模板标签允许对模板中的本地化进行更细粒度的控制。
但是,当与日期过滤器结合使用时,打开本地化不会产生与设置 USE_L10N = True 相同的结果。
# USE_L10N = True in settings.py
{% load l10n %}
{{some_datetime_value|date}}
# Date is shown and localized
对
# USE_L10N = False in settings.py
{% load l10n %}
{% localize on %}
{{some_datetime_value|date}}
{% endlocalize %}
# Date is shown and NOT localized
为什么两个结果不同?如何结合日期过滤器使 localize 标签正确本地化?
【问题讨论】:
-
你能分享如果你这样做会发生什么
{{ some_datetime_value | localize }} -
@BrianDestura,使用本地化过滤器正确本地化格式。我尝试将它与日期过滤器链接起来(它只返回来自日期时间对象的日期),但这不起作用。
-
看起来像一个带有日期过滤器的 django 错误。我想现在您可以从
some_datetime_value中提取日期,然后再将其传递给模板以使其正常工作并避免使用日期过滤器 -
如果不使用日期过滤器会怎样?
-
@user14665310,没有日期过滤器本地化按预期工作。