尝试在 Jinja 模板中调用函数时出现未定义错误
UndefinedError when trying to call function in Jinja templaet
在我的视图函数中,我将一个 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>
就我个人而言,我从未使用过烧瓶,但我使用过带有 cherrypy 的 jinja2。实际上你的代码是绝对正确的。这就是它的工作原理,但我认为正在发生的是在渲染模板时未定义变量 tags
。看看here
jinja2 中提供了所有基本数据类型操作。检查 tags
是否未在您未在特定情况下输入的某些 if 条件中定义。
{% for k, v in dct.iteritems() %}<a href="#">{{k}}</a>{% endfor %}
产出
<a href="#">item1</a><a href="#">item2</a>
在我的视图函数中,我将一个 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>
就我个人而言,我从未使用过烧瓶,但我使用过带有 cherrypy 的 jinja2。实际上你的代码是绝对正确的。这就是它的工作原理,但我认为正在发生的是在渲染模板时未定义变量 tags
。看看here
jinja2 中提供了所有基本数据类型操作。检查 tags
是否未在您未在特定情况下输入的某些 if 条件中定义。
{% for k, v in dct.iteritems() %}<a href="#">{{k}}</a>{% endfor %}
产出
<a href="#">item1</a><a href="#">item2</a>