我使用的是 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 - 在模板中显示和格式化 Django DurationField,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33105457/

10-12 20:49