我如何写一个数字循环在Django模板?我的意思是

for i = 1 to n

当前回答

你应该在模板中使用“slice”,一个这样的例子:

在views.py

contexts = {
    'ALL_STORES': Store.objects.all(),
}

return render_to_response('store_list.html', contexts, RequestContext(request, processors=[custom_processor]))

在store_list.html:

<ul>
{% for store in ALL_STORES|slice:":10" %}
    <li class="store_item">{{ store.name }}</li>
{% endfor %}
</ul>

其他回答

我在这个问题上很努力,我找到了最好的答案: (来自如何在django模板中循环7次)

你甚至可以访问idx!

views.py:

context['loop_times'] = range(1, 8)

html:

{% for i in loop_times %}
        <option value={{ i }}>{{ i }}</option>
{% endfor %}

你可以通过:

{'n':范围(n)}

使用模板:

{% for I in n %} ... {% endfor %}

你应该在模板中使用“slice”,一个这样的例子:

在views.py

contexts = {
    'ALL_STORES': Store.objects.all(),
}

return render_to_response('store_list.html', contexts, RequestContext(request, processors=[custom_processor]))

在store_list.html:

<ul>
{% for store in ALL_STORES|slice:":10" %}
    <li class="store_item">{{ store.name }}</li>
{% endfor %}
</ul>

我使用了一种简单的技术,可以很好地处理没有特殊标记和附加上下文的小情况。有时这很有用

{% for i in '0123456789'|make_list %}
    {{ forloop.counter }}
{% endfor %}

你可以使用: {% with " |center: I as range %}