此字符串格式是什么意思:返回f“ $ {value:,2f}”

问题描述

我正在从事cs50的网络跟踪Finance Project,在他们的helpers.py文件中,他们具有以下功能

def usd(value):
    """Format value as USD."""
    return f"${value:,.2f}"

我认为它需要一个值并转换为USD格式。但是在我的html中(使用烧瓶),我应该这样使用它:

{{ quote["price"] | usd }}

此外,|quote["price"]的作用是什么。 希望你能帮助我,谢谢! :)

解决方法

Flask uses Jinja templates生成HTML。

{{}}之间的事物是Jinja中的表达式,并得到求值。您可以通过|方法获取值并对其应用过滤器。

因此,{{ quote["price"] | usd }}表示在表达式上应用自定义quote["price"]过滤器后显示usd的值。

您对usd过滤器功能的解释是准确的,它使用一个数字并确保显示为2个十进制浮点数。

您可以阅读有关Jinja expressions/variables and filters here.

的更多信息