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

Dav*_*lug 9 python django duration

我使用Django 1.8,我有一个我的字段定义为DurationField,但我没有找到任何方法在我的模板上正确显示它,如果我这样输出:

{{runtime}}
i just get 0:00:00.007980
Run Code Online (Sandbox Code Playgroud)

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

2hours 30 min
Run Code Online (Sandbox Code Playgroud)

aum*_*umo 10

不,我不认为有任何内置的过滤器来格式化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)
Run Code Online (Sandbox Code Playgroud)