2017-06-21 3 views
0

私は簡単な質問がありますが、現時点では私はそれを解決するために愚痴を言います。テンプレートのDjangoについて/

googletableのデータを作成するために、ビューからテンプレートに渡されるさまざまなリストがあります。それは非常によく働いて、次のようになりますです:

 var input_class = 'bc'; 

     if(input_class == 'ab') { 
      var rawData = [['ab'], 
         {%for ab in ab_list%}['{{ab}}'], 
         {% endfor %}]; 
     } 
     else if(input_class == 'bc') { 
      var rawData = [['bc'], 
         {%for bc in bc_list%}['{{bc}}'], 
         {% endfor %}]; 
     } 
     else { 
      var rawData = [['cd'], 
         {%for cd in cd_List%}['{{cd}}'], 
         {% endfor %}]; 
     } 

私は、次のようなもので、それを入れたい明白な理由:

 {% for key, value in filter_lists.iteritems %} 
      {% if input_class == '{{key}}' %} 
       var rawData = [['{{key}}'], 
        {% for item in value %}['{{item}}'], 
        {% endfor %} 
       ]; 
      {% endif %} 
     {% endfor %} 

悲しいことに、それは動作しません。キーはすべて 'ab'のような文字列であり、値はすべて実際の例と同じリストです。

助けてくれてありがとう、Jakob。


編集:私のpython 2.7を使用してい

  • 、1.11

  • input_classは、リストによって作成されたドロップダウンメニューで変更されジャンゴ。同じリストがdictのキーを定義しています。

+0

てみてください。.. if文items'であると思いません。 –

+0

'input_class'は何を変更していますか?それはページ上のユーザーによって設定されていますか?たとえば、何らかの入力によってですか? JSを使って動的に変更することを期待していますか? –

+0

の項目もうまくいきません –

答えて

0

が自分で解決策を見つけたが、他のversoinが機能しない理由がわからない...問題はiteritems`は ``

 {% for key, value in filter_lists.items %} 
      if (input_class == '{{key}}'){ 
       var rawData = [ 
        ['{{key}}'], 
        {% for item in value %}['{{item}}'], 
        {% endfor %} 
       ]; 
      } 
     {% endfor %} 
関連する問題