Django中的数字格式?

Dav*_*ric 8 python django django-templates

希望简单的问题得到一个简单的答案 我只想编写Django的过滤器,以便我得到格式化的浮点数区域设置感知:

{{123.45|floatformat:1}}
"123.5"  <= correct
{{123.45|localize}}
"123,45"  <= correct, in my locales decimal separator is a comma
{{123.45|floatformat:1|localize}}
"123.5"  <= wrong, point instead of comma. Expected output: "123,5"
Run Code Online (Sandbox Code Playgroud)

如何同时应用这两个过滤器?

谢谢.

mik*_*725 6

Django的floatformat过滤器返回一个字符串,实际上不是一个浮点数,所以当你传递该值时localize,你传递一个字符串,而不是一个数字(int,float等),因此只返回给定的字符串.

为了实现你想要的,你不能在Django中组合这两个过滤器,因为它们都返回一个字符串.要做到这一点,你必须制作自己的过滤器,它将执行你想要的行为.为了简化操作,您始终可以从默认过滤器中的代码开始,并根据您的规范进行修改.floatformat代码就在这里,localize在这里.