Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在django模板中使用带计数器的while循环_Python_Django_Loops_While Loop - Fatal编程技术网

Python 在django模板中使用带计数器的while循环

Python 在django模板中使用带计数器的while循环,python,django,loops,while-loop,Python,Django,Loops,While Loop,我需要在模板中的while循环中放置一个计数器。所以我做了: <tbody> {% with count=1 %} {% while count <={{orders_count}}: %} {% for order in orders %} <tr> <td style="width:5%;"></td>

我需要在模板中的while循环中放置一个计数器。所以我做了:

<tbody> 
    {% with count=1 %}
    {% while count <={{orders_count}}: %}
        {% for order in orders %}
            <tr>
                <td style="width:5%;"></td>
                <td>{{count}}</td>
                <td>{{order.name}}</td>
            </tr>
            {% count+=1 %}
        {% endfor %}
    {% endwhile %}
    {% endwith %}
</tbody>

您不需要
,而
在此处循环,您只需使用:


{订单中的订单百分比|切片:订单计数%}
{{forloop.counter}}
{{order.name}
{%endfor%}
但是切片等并不真正属于模板。您通常在视图中执行此操作。

您可以尝试以下操作:

<tbody> 
    {% for order in orders %}
        <tr>
            <td style="width:5%;"></td>
            <td>{{forloop.counter}}</td>
            <td>{{order.name}}</td>
        </tr>
    {% endfor %}
</tbody>

{订单%中的订单为%0}
{{forloop.counter}
{{order.name}
{%endfor%}

谢谢,但我认为
forloop.counter
是真的。@M.J:arrgghh,打错了,谢谢。模式
|slice:orders\u count
与我们不键入的状态相比,能制造更多的资源(RAM/CPU)吗?@M.J:不明显没有。但是
order\u count
是什么?如果它只是
订单中的项目数
,则无论如何都不应将其传递给模板。
<tbody> 
    {% for order in orders|slice:orders_count %}
        <tr>
            <td style="width:5%;"></td>
            <td>{{ forloop.counter }}</td>
            <td>{{ order.name }}</td>
        </tr>
    {% endfor %}
</tbody>
<tbody> 
    {% for order in orders %}
        <tr>
            <td style="width:5%;"></td>
            <td>{{forloop.counter}}</td>
            <td>{{order.name}}</td>
        </tr>
    {% endfor %}
</tbody>