2013-05-31 4 views
0

У меня есть словарь, как:Javascript не читает ключи и значения словаря в шаблоне Джанго

dest = {2: [u'canada', u'A', 'Ottawa'], 5: [u'Malaysia', u'A', 'KualaLumpur'],...} 

Затем я попытался получить ключи и значения из dest в шаблоне Джанго с помощью JavaScript:

function categorizeReports() 
{ 
     var a = []; 
     var b = []; 
     {% for i,v in dest %} 
     id = '{{i}}'; 
     console.log('id', id) 
     values = '{{v}}'; 
     console.log('values',values) 
     {% for name, type, cat in values %} 
      if(type=='A' && cat=='Ottawa') 
       { 
        a.push(id,name,type,cat) 
       } 
      if(type=='A' && cat=='KualaLumpur') 
       { 
        b.push(id,name,type,cat) 
       } 

     {% endfor %} 
     {% endfor %} 
     console.log(a) 
     console.log(b) 
} 

Но оба массива показаны как 'an empty string', а также id, а значения также показаны как 'an empty string', пожалуйста, помогите!

+0

это ожидается, что Ваш код JS будет повторяться много раз? – oleg

+0

@oleg: да каждый раз, когда шаблон загружается. – MHS

+0

Я имею в виду, если у вас есть 10 элементов в dest-строках '' 'id = ''; console.log ('id', id) values ​​= ''; console.log ('values', values) '' 'будет присутствовать 10 раз, например. – oleg

ответ

3

Недостающие .items

Изменить

{% for i,v in dest %} 

в

{% for i,v in dest.items %} 
+0

снова проблема, теперь не считывая значения из 'values' – MHS

+0

Ну, значения будут типом списка. Таким образом, ваш синтаксис для вытаскивания имени, типа и кота не будет работать. {{values.0}} получит имя {{values.1}} получит тип ... и т. д. Я считаю, по крайней мере. Не испытано. – Austin

Смежные вопросы