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

for i = 1 to n

当前回答

如果数字来自一个模型,我发现这是一个很好的模型补丁:

def iterableQuantity(self):
    return range(self.quantity)

其他回答

不幸的是,Django模板语言不支持这一点。有一些建议,但它们看起来有点复杂。我只要在上下文中放一个变量:

...
render_to_response('foo.html', {..., 'range': range(10), ...}, ...)
...

在模板中:

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

{% 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 %}
{% for _ in ''|center:13 %}
    {{ forloop.counter }}
{% endfor %}

也许像这样?

{% for i in "x"|rjust:"100" %}
...
{% endfor %}