说我有这本词典
{"k1":"dog", "k2":"cat", "k3":["Pochi","Wanwan"]}
现在在我的模板中,我正在迭代:
{% for key, value in dict.iteritems() %}
<tr>
<td>{{ key }}</td>
<td>{{ value }}</td>
</tr>
{% endfor %}
但我确实想在标签内做一些额外的处理,是否可以检查“值”是列表还是字典类型?因此,我不仅可以吐出列表,而且可以做一些事情,比如说它们。
答案 0 :(得分:1)
检查&#34;值&#34;是一种字典类型,你可以做类似的事情
{% for key, value in dict.iteritems() %}
<tr>
<td>{{ key }}</td>
{% if value is mapping %}
"Do something"
{% else %}
<td>{{ value }}</td>
</tr>
{% endfor %}
检查&#34;值&#34;是列表类型,您可以创建自定义筛选器。 Here's您会发现有用的链接。
编辑:这是一个如何创建自定义过滤器的示例。首先是功能
def is_list(value):
return isinstance(value, list)
然后将该函数声明为过滤器
from flask import Flask
app = Flask(__name__)
....
app.jinja_env.filters['is_list'] = is_list
然后过滤器将在您的模板中可用。