Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未知格式代码';g';对于类型为'的对象;str';_Python_Django - Fatal编程技术网

Python 未知格式代码';g';对于类型为'的对象;str';

Python 未知格式代码';g';对于类型为'的对象;str';,python,django,Python,Django,我试图实现一个简单的浮点数函数,但我遇到了一个错误:类型为'str'的对象的未知格式代码'g'。这是什么原因,以及如何解决这一问题 from django import template register = template.Library() @register.filter def human_format(num): num = float('{:.3g}'.format(num)) magnitude = 0 while abs(num) >= 1000:

我试图实现一个简单的浮点数函数,但我遇到了一个错误:类型为'str'的对象的未知格式代码'g'。这是什么原因,以及如何解决这一问题

from django import template
register = template.Library()
@register.filter
def human_format(num):
    num = float('{:.3g}'.format(num))
    magnitude = 0
    while abs(num) >= 1000:
        magnitude += 1
        num /= 1000.0
    return '{}{}'.format('{:f}'.format(num).rstrip('0').rstrip('.'), ['', 'K', 'M', 'B', 'T'][magnitude])

您正在传入一个字符串,而不是一个数字,并试图在其上使用数字格式代码


但是,您可能正在寻找内置的吗?

@AXX。。。我在其他项目中使用了相同的代码,它不会抛出此错误。我正在建立一个新项目,我遇到了这个错误。你能将你的答案附加到我的代码中吗?你正在模板中向你的过滤器传递一个字符串。