2011-03-08 7 views
15

나는 장고 템플릿 페이지에장고 TemplateSyntaxError는 나머지를 구문 분석 할 수 없습니다 : '()'

 {% for (key_o, value_o) in f_values.items() %} 
      <tr class="row {% cycle 'odd' 'even' %}"> 
       {% for (key_i, val_i) in value_o.items() %} 
        <td class="tile "> 
         {{ val_i }} 
        </td> 
       {% endfor %}  
      </tr> 
     {% endfor %} 

그러나 오류

TemplateSyntaxError at /tree/branches/ 
Could not parse the remainder: '()' from 'f_values.items()' 

을 받고 무엇을 일으키는을 사전의 사전을 반복하기 위해 노력하고있어 오류? 난 당신이 템플릿 메소드를 호출 할 ()를 사용할 필요가 없습니다 f_values

 columnValues = [] 
     for idx_o, val_o in enumerate(results['values']): 
      columnValues[idx_o] = {} 
      for idx_i, val_i in enumerate(val_o): 
       columnValues[idx_o][idx_i] = {} 
       columnValues[idx_o][idx_i]['value'] = val_i 
       name = columnNames[idx_i] 
       columnValues[idx_o][idx_i]['name'] = name 
       columnValues[idx_o][idx_i]['format'] = {} 
       for val_f in formats: 
        if (name == val_f.Header) : 
         columnValues[idx_o][idx_i]['format']['LowerLimit'] = val_f.LowerLimit 



data = { 
     'f_values': columnValues,    
     } 

답변

37

을 만드는 방법

--update는

이다. f_values.items을 사용해도됩니다. 당신이 할 수있는

lst = ['a', 'b', 'c'] 
di = {'a': 'a'} 
class Foo: 
    def bar(self): pass 

: 코드에 대한 그래서

{{ lst.0 }} 
{{ di.a }} 
{{ foo.bar }} 

:이 표기법리스트, 튜플 및 기능 작동

키 사이에 공간이있는 경우는 어떻게
{% for (key_o, value_o) in f_values.items %} 
     <tr class="row {% cycle 'odd' 'even' %}"> 
      {% for (key_i, val_i) in value_o.items %} 
       <td class="tile "> 
        {{ val_i }} 
       </td> 
      {% endfor %}  
     </tr> 
    {% endfor %} 
+0

? 해당 키를 사용하려면 선택기를 사용해야합니까? –

+1

@VishnuYS 공백이있는 키에 대한 표준 솔루션은 없습니다. 공백과 하이픈을 사용하지 않으려 고하지만 몇 가지 해결 방법에 대해서는 다음 질문을 참조하십시오. https://stackoverflow.com/questions/2970244/django-templates-value-of-dictionary-key-with-a-space - 그것 -에 - 그것 –

관련 문제