微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用模板标记在html模板中求和

我想在 HTML中求和,但模板标签返回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))

模板:

user.html

  {% load temptags %}

 <table id="myTable" class="tablesorter">
    <thead>
    <tr>

    <th>S.No</th>
    <th>role</th>
    <th>Count</th>

    </tr>
    </thead>
    {% for fetch in list %}

    <tr>
    <td>{{forloop.counter}}</td>
    <td>{{fetch.user}}</td>
    <td>{{fetch.total}}</td>



    {% endfor %}
    <td>{{ list.total|running_total}}</td>
    <tr>

    </table>

模板标签

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)

输出

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)

在这里做错了什么?

你可以帮助我,如何在这里使用模板标签返回总和?

解决方法

您的模板标记看起来不对.你有role_total作为参数,然后遍历list_total(看似未定义),并从列表中的每个字典尝试获取键list_sum,这似乎是未定义的.
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)

并在< td> {{list | running_total}}< / td>的模板中调用

原文地址:https://www.jb51.cc/html/228429.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐