django - 乘法与模板

3 投票
2 回答
6705 浏览
提问于 2025-04-18 13:53

我希望你能帮我解决这个问题。我有一个模板,用来显示某个东西的价格,比如说香蕉,假设这根香蕉的价格是400美元,我需要计算这个价格的21%,然后把结果显示在一个表格的框里。我本来想这样做:

{% for banana in bananas %}
{{banana.price}}*(21%)
{% endfor %}

但显然这样做失败了。

那么,有没有办法在模板中做这种简单的计算,还是说我需要自己写一个模板标签来处理这个问题。

这是个很基础的问题,但我真的很感激你的帮助。

谢谢。

2 个回答

1

你可以使用内置的 widthratio 模板标签:

这个标签主要用来制作条形图等,它会计算一个给定值和最大值之间的比例,然后把这个比例应用到一个常量上。

{% widthratio banana.price 100 21 %}
11

你确实需要一个自定义的模板标签,不过你可以安装一个叫做 django-mathfilters 的库,它提供了一些基本的数学操作:

{% load mathfilters %}

...

{{banana.price|mul:0.21}}

这些操作来自于mathfilters页面,包含的操作有:

  • sub – 减法
  • mul – 乘法
  • div – 除法
  • abs – 绝对值
  • mod – 取模

而“加法”在Django中是默认提供的。

撰写回答