【问题标题】:UndefinedError when trying to call function in Jinja templaet [closed]尝试在 Jinja 模板中调用函数时出现 UndefinedError [关闭]
【发布时间】:2016-05-18 06:58:34
【问题描述】:

在我的视图函数中,我将一个 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>

【问题讨论】:

    标签: python flask jinja2


    【解决方案1】:

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

    所有基本的数据类型操作都在 jinja2 中可用。检查 tags 是否未在某些条件下定义,即您未在特定情况下输入。

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

    输出

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

    【讨论】:

    • 发现dict变量没有传给html成功,问题已经解决了。
    猜你喜欢
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多