你如何格式化从 Django 中的 API 调用的数字?

How do you format numbers called from an API in Django?

我在我正在做的课程中从 API 调用了一些值,我想格式化这些值以提高可见性。编写此代码的最佳方法是什么?谢谢。示例代码如下:

${{list_item.marketCap}} {{list_item.ytdChange}}%

哪里,第一次加个逗号表示千位和2dp,第二次加100?

我建议有两个选项:


  1. 您要么想要创建一个新的 template tag 来格式化您的 Django 变量。 模板标签将只是您创建的一个函数,考虑到您的变量和 return 格式化值。

  1. 第二个选项包括在呈现视图之前格式化变量并将其添加到 render 视图 return 语句的 context 中。

对于格式函数,这里没有什么复杂的。您可以只使用字符串连接或 Python String Interpolation.

这是一个例子:

def format_thousands(value):
    return f'{value:,}' # Using Python ≥3.6

def format_two_decimals(value):
    return round(value, 2)

有关contextviews的更多信息,请参阅Django Doc,因为它是与该问题无关的基本内容。

你可以像这样用逗号把第一个改成2dp...

 {{  "{:,.2f}".format(float(list_item.marketCap))  }}

要获得第二项 * 100,您只需 return...

 {{  float(list_item.ytdChange) * 100 }}

希望对你有用!