python – 在模板中显示和格式化Django DurationField

前端之家收集整理的这篇文章主要介绍了python – 在模板中显示和格式化Django DurationField前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Django 1.8,我有一个我的字段定义为DurationField,但我没有找到任何方法在我的模板上正确显示它,如果我这样输出
{{runtime}}
i just get 0:00:00.007980

是否有任何过滤器或任何其他方式显示更像

2hours 30 min

解决方法

不,我不认为有任何内置的过滤器来格式化timedelta,但是自己编写它应该相当容易.

这是一个基本的(未经测试的)示例:

from django import template


register = template.Library()


@register.filter
def duration(td):
    total_seconds = int(td.total_seconds())
    hours = total_seconds // 3600
    minutes = (total_seconds % 3600) // 60

    return '{} hours {} min'.format(hours,minutes)

猜你在找的Python相关文章