2012-04-22 11 views
-1

内の変数を受け入れない:Djangoはこれが動作していない例えばテンプレート

{% for i in artist_number %} 
    <li><a href="#{{ forloop.counter0 }}">{{hash_1.items.forloop.counter0.0}}</a></li> 
{% endfor %} 

が、これは動作します:

{% for i in artist_number %} 
    <li><a href="#{{ forloop.counter0 }}">{{hash_1.items.0.0}}</a></li> 
{% endfor %} 

does'nt Djangoは単純にforloop.counter0の価値を置くのはなぜここにhash_1.items.X.0

これは単なる例です。

list = [0,1,2,3,4,5,6,7,8,9,10] 
hash_1= {} 
#some operations done with these variables. 

{% for i in list %} 
    <li><a href="#{{ forloop.counter0 }}">{{hash_1.items.i.0}}</a></li> 
{% endfor %} 
+1

この方法では、変数の値を使用してルックアップを行うことはできません。 これについて考える:djangoは 'items_1'のように' hash_1.items.forloop.counter0.0'を解釈することは 'hash_1'のルックアップですが、突然' forloop'は別のスコープからの変数ルックアップです文字通り 'forloop'と呼ばれる鍵? –

+1

これは、1日目のDjangoテンプレートエンジンにあったいくつかの弱点のうちの1つです。デザイナーが単にそれを取得しないため、テンプレート作業を強制するプログラマーだけが「テンプレートデザイナー」に会ったことはありません。 –

答えて

0

をあなたが{% with %}またはsliceのいずれかをしたい:ここで私は解決できなかった別の問題があります。

+0

あなたは{%with%}または{{hash1.items.forloop.counter0.0}}スライスを使用してこの作業を行う方法を説明してください – markAnthopins

関連する問題