返回模板的模型属性

时间:2014-03-04 22:11:51

标签: django

假设我有一个带有返回字典的属性的模型。如何在模板中迭代它?我如何访问价值观?我只能在模板中使用无聊的字符串{'':"",'':"",...}吗?或者,天堂禁止,属性应该返回HTML吗?

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

模板中的想象用法......

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

1 个答案:

答案 0 :(得分: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