2015-10-13 16 views
5

Im usando Django 1.8, e ho un mio campo definito come DurationField, ma io non trovare un modo per visualizzare correttamente sul mio modello, se ho in uscita in questo modo:Display e formato Django DurationField nel modello

{{runtime}} 
i just get 0:00:00.007980 

c'è qualche filtro o qualsiasi altro modo di visualizzare qualcosa di più simile

2hours 30 min 

risposta

9

No, non credo che ci sia alcuna costruito nel filtro per formattare un timedelta, dovrebbe essere abbastanza facile da scrivere uno te stesso però.

Ecco un esempio di base (e non testato):

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) 
+0

Con alcune piccole modifiche, questa è stata la risposta perfetta. Grazie ! –