2012-03-12 23 views
4

私はforループネストされた2つを持っている私のDjangoアプリケーションから関連するパラメータでJavascriptの変数のセットを生成するには:Djangoのループ変数のためのテンプレートタグ{{のために/空}}

<script> 
{% for model in models %} 
    {% for item in model.attribute|slice:":3" %} 
     {% if forloop.first %} 
      var js_variable{{ forloop.parentloop.counter0 }} = [ 
     {% endif %} 
      '{{ item.attribute }}' , 
     {% if forloop.last %} 
      {{ item.attribute }} ] 
    {% empty %} 
     var js_variable{{ forloop.parentloop.counter0 }} = [] 
    {% endfor %} 
{% endfor %} 

....code that gets unhappy when js_variable[n] doesn't exist..... 

</script> 

{% empty %}が発生した場合、それはdoesnの{{ forloop.parentloop. counter0 }}変数にアクセスしているように見えるので、変数名js_variable[n]は、として間違って印刷されます(カウンタによって別の番号が指定されていない場合)。

{{ empty }}タグでこの変数を使用できない場合はありますか?

答えて

6

これは予期された現象です。私たちが持っている単純化:012%変更:付き

var js_variable{{ forloop.parentloop.counter0 }} = [] 

var js_variable{{ forloop.counter0 }} = [] 
+0

ありがとうございます! 10分が終わるとすぐに私は受け入れます。 – mrmagooey

+0

空の場合、内部のforloop変数が存在しないことを認識していませんでした。私はそれを空のPythonシーケンス型として想像しました。 – mrmagooey

+0

AHAHAあなたは私の日に感謝しましたxD – jpic

関連する問題