如何清理'forloop.counter'变量(将变量重置为1)

时间:2018-03-05 10:18:20

标签: python django django-templates

在我的数据库中有客户,每个客户都有传感器。例如,客户1具有2个传感器。是gettin传感器信息并将它们分别放在表格中。但是物品的ID(NO)是错误的。请看看pic1 pic1

作为编码,我使用标准的django模板过滤器。

{% for info in infos %}
   ......
   ......
  <span> {{ forloop.counter }} </span>

{% endfor %}

1 个答案:

答案 0 :(得分:1)

首先,您需要使用orderby https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by根据传感器名称对infos查询集进行排序。然后你可以使用Javascript与django模板标签来实现

<script type="text/javascript">
    var sensor_name = "";
    var counter = 1;

    {% for info in infos %}
    if (sensor_name != {{info.name}}) {
        sensor_name = {{info.name}};
        counter = 1;
    }
    else {
        counter += 1;
    }
    $("span").text(counter); //this is your span where you show the sensor number

    {% endfor %}
</script>