尝试在Jinja templaet中调用函数时出现UndefinedError

时间:2016-02-08 14:57:48

标签: python flask jinja2

在我的视图函数中,我将一个dict变量传递给我的HTML文件。 tags是一个默认为{int: []}的字典。由于每个键的值是一个列表,我使用iteritems()来显示列表中的每个项目。但是,它没有用,我得到了错误UndefinedError: 'tags' is undefined。 Jinja2能够在HTML中调用函数吗?为什么我的代码不起作用?

return render_template('index.html', title='Home', user=user, posts=posts, tags=tags)
<div class="post-tag">
{% for key,tag in tags.iteritems() %}
<a href="#">{{tag}}</a>
{% endfor %}
</div>

1 个答案:

答案 0 :(得分:0)

就我个人而言,我从未使用过烧瓶,但我已经将jinja2用于樱桃。实际上你的代码绝对正确。这是它的工作原理,但我认为发生的是在渲染模板时未定义变量tags。看看here

jinja2中提供了所有基本数据类型操作。检查在某些情况下是否未在您的特定情况下输入tags

{% for k, v in dct.iteritems() %}<a href="#">{{k}}</a>{% endfor %}

输出

<a href="#">item1</a><a href="#">item2</a>