0

嗨,我有 django 模板标签,

@register.filter("timestamp")
def timestamp(value):
    try:
        return datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
    except AttributeError:
        return 'error'
    except KeyError:
        return 'error'

并将此过滤器传递给我的网页,如下所示,

<td>{{ table.last_updated|timestamp}}</td>

但它返回一个错误,“需要一个浮点数”。请帮助我。谢谢

4

2 回答 2

0

如果您使用MySQLdb模块从数据库中获取数据。它会将您转换unixtimestamp db column为 python 类型datetime.datetimedatetime.fromtimestamp并且函数使用float对象作为输入参数。

所以你应该在你的时间戳函数中添加一个条件。如果类型valuedatetime.datetime,将值转换为float

import time
import datetime
print time.mktime(datetime.datetime.now().utctimetuple())
于 2015-04-16T06:13:56.210 回答
0

谢谢阿莫。这是卓有成效的。我尝试了以下方法,它奏效了。

@register.filter("timestamp")
def timestamp(value):
    if value is not None:
        return datetime.fromtimestamp(value).strftime('%Y-%m-%d %H:%M:%S')
    else:
        return 'None'
于 2015-04-16T06:38:03.830 回答