假设我有一个带有返回字典的属性的模型。如何在模板中迭代它?我如何访问价值观?我只能在模板中使用无聊的字符串{'':"",'':"",...}
吗?或者,天堂禁止,属性应该返回HTML吗?
class Foo(models.Model):
# ...
@property
def bar(self):
# ...
return aDictionary
模板中的想象用法......
{{ foo.bar['key'] }}
答案 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。