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

for i = 1 to n

当前回答

{% for i in range(10) %}
   {{ i }}

{% 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>

你可以通过:

{'n':范围(n)}

使用模板:

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

显示1到20个数字:

{% for i in "x"|rjust:"20"|make_list %}
 {{ forloop.counter }}
{% endfor %}

这也可以帮助你: (count_all_slider_objects来自视图)

{% for i in "x"|rjust:count_all_slider_objects %}
  {{ forloop.counter }}
{% endfor %}

or

  {% with counter=count_all_slider_objects %}
    {% if list_all_slider_objects %}
      {%  for slide in list_all_slider_objects %}
        {{forloop.counter|add:"-1"}}
        {% endfor%}
      {% endif %}
    {% endwith %}

你不传递n本身,而是传递range(n)[包含从0到n-1的整数列表],从你的视图到你的模板,在后者中,你在range %}中为i执行{%(如果你绝对坚持以1为基础,而不是正常的以0为基础的索引,你可以使用forloop。循环体中的计数器;-)。

{% for _ in ''|center:13 %}
    {{ forloop.counter }}
{% endfor %}