在Django模板中获取十进制字段的整数部分

9

我的问题很简单,但我找不到答案。如果之前已经回答过,请原谅。

我有一个 DecimalField,在我的 Django 应用程序中从视图传递到模板中。 我需要仅显示其整数部分。

我该怎么做?

========================= 找到解决方案 ========================

抱歉,如果我有权限的话,我会回答的,但只有等待8小时后我才能这样做。

感谢您的答案。我已经找到了一个内置的解决方案,它可以正常工作。 这是一个内置的模板过滤器。文档如下。

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#floatformat

基本上,我需要的用法类似于这样:
{{decimal_obj|floatformat:0}}

一个更好的解决方案是使用stringformat过滤器:

https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#stringformat

使用方法:

{{decimal_obj|stringformat:"d"}}

感谢帮助。Ignacio是正确的;)


8个小时已经过去了,现在你可以将其发布为答案。 - BЈовић
1个回答

14

如果你只需要显示整数部分,那么可以使用 stringformat"d"。 如果需要进行计算,则在视图中完成。

示例:

{{ decimal_field | stringformat:'d' }}


实际上,整个对象——带有DecimalField属性——来自视图函数,因此在模板中我有这样的内容:{{<my_object>.decimal_value}}。我需要在该表达式中添加一些内容,以仅显示整数部分。我不认为我可以在这种情况下使用stringformat。对于歧义表示抱歉。 - Francisco
现在我明白了你的回答。非常抱歉。应该是像<decimal_obj>|stringformat:"d"这样吧?我会将其添加到解决方案中。实际上,这样更好。谢谢! - Francisco

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接