如何在Django模板中禁用FloatField的格式化

31 投票
7 回答
17490 浏览
提问于 2025-04-16 03:11

我就是找不到这个问题的明确答案,而且Django的IRC需要认证才能使用服务……

所以我的问题是:在使用Django的时候,怎么能在模板中强制给FloatFields设置某种格式呢?

问题很简单,我需要的是用点分隔的数字,比如:42547.34,但我得到的却是用逗号分隔的值……

这里有一个出现问题的模板示例:

{% for point in zone.points.all  %}
  {% if forloop.last %}
    new google.maps.LatLng({{point.latitude|floatformat}},{{point.longitude|floatformat}})
  {% else %} 
    new google.maps.LatLng({{point.latitude|floatformat}},{{point.longitude|floatformat}}),
  {% endif %}
{% endfor %}];

谢谢你的时间。

附言:在使用管理员生成的表单时,我没有这个问题,浮点数显示得很正确(我的地区设置是en_US)。

7 个回答

14

我遇到了一个问题,就是在显示经纬度(lat和lng)值的时候出现了困难。为了处理这个问题,我想出了一个解决办法:

{{ value|safe }}
29

现在你可以强制输出一个值,而不受地区设置的影响。

{% load l10n %}

{{ value|unlocalize }}

摘自 https://docs.djangoproject.com/en/2.2/topics/i18n/formatting/#std:templatefilter-unlocalize

66
{{ float_var|stringformat:"f" }}

当然可以!请把你想要翻译的内容发给我,我会帮你把它变得简单易懂。

撰写回答