0

我知道这是一个令人难以置信的菜鸟问题,但我似乎找不到我需要的示例(这里有一些 for 循环示例但不是我需要的..

我可以使用一个简单的脚本来完成这项工作,但模板语法真的让我很吃惊。

我只需要在每次迭代中简单地添加 10,并且只需选择一个包含 10 的倍数的列表。但是,我什至无法使用以下简单示例:

<select id="multiples">
{% for num in range(5,100) %}
<option value="{{ num }}">{{ num }}</option>
{% endfor %}

有没有人可以帮忙,谢谢。

4

2 回答 2

2

模板不适用于任意代码。Django 的内置for循环不支持这种事情。

是先前的讨论,其中包含一些关于如何获得所需行为的好选择。

于 2012-11-27T22:10:16.133 回答
1

使用 Python 的范围第三个参数(偏移量或增量)。您可以将其设置为跳过某些元素:

 >>> range(0, 10, 3)
 [0, 3, 6, 9]

编辑 - - -

如您所知,Django 模板不理解范围。因此,可以选择从后端传递范围或列表本身。通过范围将类似于:

render_to_response('template.html', {..., 'range': range(0, 10, 3), ...}, ...) 
于 2012-11-27T22:05:28.177 回答