2014-03-04 30 views
0

說我有一個具有返回字典屬性的模型。如何在模板中迭代它?我如何訪問值?我只會在模板中使用無聊的字符串{'':"",'':"",...}嗎?或者,天堂禁止,應該返回HTML?返回迭代到模板的模型的屬性

class Foo(models.Model): 
    # ... 
    @property 
    def bar(self): 
     # ... 
     return aDictionary 

而且在模板中使用的想象...

{{ foo.bar['key'] }} 

回答

1

屬性值應該用點符號來訪問:

{{ foo.bar.key }} 

假設:

@property 
def bar(self): 
    return {'key':'value'} 

你的模板應該呈現value

更新由OP建議:

要循環上在模板級別使用的字典鍵/值:

{% for k, v in foo.bar.items %} 

在例如:

<table> 
    <tr> 
     <th>Key</th> 
     <th>Value</th> 
    </tr> 
    {% for k, v in foo.bar.items %} 
    <tr> 
     <td>{{k}}</td> 
     <td>{{v}}</td> 
    </tr> 
    {%endfor%} 
</table> 
</ul> 

相關的文檔here

+0

而我將如何遍歷它們? 'for key,value in foo.bar' is not working .... – broinjc

+0

@broinjc不確定,嘗試遍歷'foo.bar.keys';再次我不確定。 –

+0

我想通了,並更新了你的答案。這是'foo.bar.items' – broinjc