希望简单的问题得到简单的答案。 我只想编写 Django 的过滤器,这样我就可以得到格式化的 float 区域设置:
{{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"
如何同时应用两个过滤器?
谢谢。
最佳答案
Django 的 floatformat
过滤器返回一个字符串,而不是一个 float ,所以当您将该值传递给 localize
时,您传递的是一个字符串,而不是一个数字(int , float, 等),因此只返回给定的字符串。
要实现您想要的效果,您不能在 Django 中组合这两个过滤器,因为它们都返回一个字符串。为此,您必须制作自己的过滤器来执行您想要的行为。为了使事情变得更简单,您始终可以从默认过滤器中的代码开始,然后根据您的规范进行修改。 floatformat
代码是here并且 localize
是 here .
关于python - 在 Django 中本地化的数字格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13335554/