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の範囲の3番目の引数(オフセットまたは増分)を使用します。特定の要素をスキップするように設定できます。

 >>> 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 に答える