如何迭代Django中的计数?

时间:2011-02-25 04:27:15

标签: django django-templates

我有一个整数值传递给我的模板,我想创建一些等于该整数的html元素。

game.players是0-10。

我想创建一些等于game.players数量的输入元素。

1 个答案:

答案 0 :(得分:1)

使用iterable填充上下文或定义template filter that handles a number input and outputs an iterable

注意:建议在视图中定义iterable,因为这是django哲学以及为什么没有内置范围过滤器。

Here's what a core dev thinks:

  

我对这个想法的印象是它   正试图引导编程   模板。如果你有一份清单   他们需要渲染的选项   应该在视图中计算,而不是在   模板。如果那就像一个简单   价值范围,那就这样吧。

# view
for game in games:
    game.players_range = range(game.players)

return render_to_response("foo.html", {'games': games})


# template
{% for game in games %}
    {% for i in game.players_range %}
      Element {{ i }}
    {% endfor %}
{% endfor %}