你如何格式化从 Django 中的 API 调用的数字?
How do you format numbers called from an API in Django?
我在我正在做的课程中从 API 调用了一些值,我想格式化这些值以提高可见性。编写此代码的最佳方法是什么?谢谢。示例代码如下:
${{list_item.marketCap}} {{list_item.ytdChange}}%
哪里,第一次加个逗号表示千位和2dp,第二次加100?
我建议有两个选项:
- 您要么想要创建一个新的 template tag 来格式化您的 Django 变量。
模板标签将只是您创建的一个函数,考虑到您的变量和 return 格式化值。
- 第二个选项包括在呈现视图之前格式化变量并将其添加到
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)
有关context
和views
的更多信息,请参阅Django Doc,因为它是与该问题无关的基本内容。
你可以像这样用逗号把第一个改成2dp...
{{ "{:,.2f}".format(float(list_item.marketCap)) }}
要获得第二项 * 100,您只需 return...
{{ float(list_item.ytdChange) * 100 }}
希望对你有用!
我在我正在做的课程中从 API 调用了一些值,我想格式化这些值以提高可见性。编写此代码的最佳方法是什么?谢谢。示例代码如下:
${{list_item.marketCap}} {{list_item.ytdChange}}%
哪里,第一次加个逗号表示千位和2dp,第二次加100?
我建议有两个选项:
- 您要么想要创建一个新的 template tag 来格式化您的 Django 变量。 模板标签将只是您创建的一个函数,考虑到您的变量和 return 格式化值。
- 第二个选项包括在呈现视图之前格式化变量并将其添加到
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)
有关context
和views
的更多信息,请参阅Django Doc,因为它是与该问题无关的基本内容。
你可以像这样用逗号把第一个改成2dp...
{{ "{:,.2f}".format(float(list_item.marketCap)) }}
要获得第二项 * 100,您只需 return...
{{ float(list_item.ytdChange) * 100 }}
希望对你有用!