在模板中显示并格式化Django DurationField
问题内容:
我使用的是Django 1.8,我将其中一个字段定义为DurationField,但是如果我这样输出,我找不到任何方法可以在模板上正确显示它:
{{runtime}}
i just get 0:00:00.007980
是否有任何过滤器或任何其他显示更多类似内容的方式
2hours 30 min
问题答案:
不,我不认为可以使用任何内置过滤器来格式化a 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)