我如何写一个数字循环在Django模板?我的意思是
for i = 1 to n
我如何写一个数字循环在Django模板?我的意思是
for i = 1 to n
当前回答
对于那些寻找简单答案的人来说,只需要显示一个数值的数量,比如从100个帖子中添加3个,例如添加{% For post in posts|slice:"3" %}并正常循环,只会添加3个帖子。
其他回答
你可以在views.py的上下文中传递range(n)而不是n。这将给你一个可迭代的列表。
context['range']= range(n)
然后你可以这样迭代你的模板:
{% for i in range %}
<!-- your code -->
{% endfor %}
{% for i in range(10) %}
{{ i }}
{% endfor %}
的绑定
{'n' : range(n) }
到模板,然后做
{% for i in n %}
...
{% endfor %}
注意,您将得到基于0的行为(0,1,…)n - 1)。
(为兼容Python3而更新)
你可以通过:
{'n':范围(n)}
使用模板:
{% for I in n %} ... {% endfor %}
不幸的是,Django模板语言不支持这一点。有一些建议,但它们看起来有点复杂。我只要在上下文中放一个变量:
...
render_to_response('foo.html', {..., 'range': range(10), ...}, ...)
...
在模板中:
{% for i in range %}
...
{% endfor %}