0

问题是:

当我在 DB 中的一个表中有超过 999 个元素时,例如 1000、1001...2000 等,DB 中的 id 保存时没有点,但是当我尝试在模板中使用这个 id 时,它会用点转换,例如,1.000、1.001...2.000。我使用“安全”过滤器解决了这个问题。

注意:我意识到使用点或逗号取决于语言,例如英语在模板中显示为“1,100”(一千一百)。

{{ value.id|safe }}

但是,我认为这不是解决方案,因为其他功能不可扩展。它会出现在我不知道的代码的其他部分中。

为什么 Django 这样做?,是一个错误,我不明白为什么会这样。

是否有另一种解决方案,例如设置中的可配置值?

感谢您的回答。

4

1 回答 1

3

为方便起见, django-admin.py startprojectincludes创建的默认 settings.py 文件。USE_L10N = True但是请注意,要启用带有千位分隔符的数字格式,必须USE_THOUSAND_SEPARATOR = True在设置文件中进行设置。或者,您可以使用intcomma在模板中设置数字格式。

听起来你需要做的是设置USE_THOUSAND_SEPARATOR = False

我假设您已经在项目或模板中全局加载了国际化:

{% load l10n %}

因此,要取消本地化此值,请使用:

{{ value.id|unlocalize }}

有关更多信息,请参阅 Django 文档。

于 2013-10-31T20:34:06.623 回答