Suma en plantilla html usando etiqueta de plantilla

Estoy tratando de sumr en HTML, pero la etiqueta de la plantilla devuelve 0,

View.py

def gen_Report(request): ### query returns below output list=[{'total': 1744, 'user': u'x'}, {'total': 13, 'user': u'y'}, {'total': 126, 'user': u'z'}, {'total': 46, 'user': u'm'}, {'total': 4, 'user': u'n'}, {'total': 8, 'user': u'o'}, {'total': 3, 'user': u'p'}] return render_to_response('user.html', locals(), context_instance = RequestContext(request)) 

Modelo :

 user.html {% load temptags %}  {% for fetch in list %}  {% endfor %} 
S.No role Count
{{forloop.counter}} {{fetch.user}} {{fetch.total}}{{ list.total|running_total}}

Etiqueta de plantilla:

 from django.template import Library register = Library() @register.filter def running_total(list_total): return sum(d.get('list_sum') for d in list_total) 

salida:

 S.No user Count 1 x 1744 2 y 13 3 z 126 4 m 46 5 n 4 6 o 8 Sum------------------> 0 (it returns zero) 

Estoy haciendo algo mal aquí?

¿Me puede ayudar, por favor, cómo devolver la sum total usando la etiqueta de plantilla aquí?

Su etiqueta de plantilla se ve mal. Tiene role_total como parámetro y luego iterar a través de list_total (aparentemente indefinido) y de cada diccionario en la lista intente obtener la lista list_sum que también parece no estar definida.

 from django.template import Library register = Library() @register.filter def running_total(your_dict_list): return sum(d['total'] for d in your_dict_list) 

y llamándolo desde la plantilla como

{{ list|running_total}}

Sospecho que tu lista es un iterador. Así que la primera vez que se repite y la segunda se repite sobre nada. Así que deberías hacer algo como esto

 for d in list_total: d.set('list_sum', list(d.get('list_sum'))) 

antes de llamar a tu plantilla