使用django-tables2时如何格式化浮点数的显示?

cor*_*_iv 3 django django-tables2

我使用django-tables2来显示一些数据.我有一列浮点数,并希望它们只显示两位小数(因此,10.238324将显示为10.24).有一个简单的方法吗?在Django模板中,我这样做{{number||floatformat:2}}.

可能相关的文档:
http://django-tables2.readthedocs.io/en/latest/pages/column-attributes.html.

Jie*_*ter 6

如果您只有一个包含浮点数的列,请在render_<column_name>()方法中格式化您的值:

class NumberTable(tables.Table):
    number = tables.Column()

    def render_number(self, value):
        return '{:0.2f}'.format(value)
Run Code Online (Sandbox Code Playgroud)

如果您有多个包含浮点数的列,则可以定义自定义列并重复使用它:

class NumberColumn(tables.Column):
    def render(self, value):
        return '{:0.2f}'.format(value)


class NumberTable(tables.Table):
    temperature = NumberColumn()
    pressure = NumberColumn()
    flow = NumberColumn()
Run Code Online (Sandbox Code Playgroud)

这个自定义列也可能实现一个自定义构造函数,添加小数位数,如果你想改变它.