【问题标题】:Can't use 'zip' from jinja2无法使用 jinja2 中的“zip”
【发布时间】:2020-05-26 18:42:29
【问题描述】:

我正在尝试在我的 HTML 中运行此代码:

<tbody>
      {% for name, npcBuy in zip(farmingMerchantName, farmingMerchantPrices) %}
      <tr>
        <td>{{ name }}</td>
        <td>temp</td>
        <td>{{ npcBuy }}</td>
        <td>temp</td>
      </tr>
      {% endfor%}
    </tbody>

但我得到错误:jinja2.exceptions.UndefinedError: 'zip' is undefined

我也在 Python 中尝试过以下这些事情:

import jinja2

app.jinja_env.globals.update(zip=zip)

还有这个:

Import jinja2
env = jinja2.Environment()
env.globals.update(zip=zip)

(不是同时)

从第一个开始,我收到错误“方法 'jinja_env' 没有 'globals' 成员。

从第二个开始,我得到了同样的错误(jinja2.exceptions.UndefinedError: 'zip' is undefined)

我已经检查了this 线程,但它没有帮助。

谢谢

【问题讨论】:

  • 在尝试将 zip 作为关键字 arg 传递给函数之前,您没有定义 zip。您希望在这里发生什么?
  • @jordanm zip 是 Python 的内置函数。
  • 什么意思? @乔丹
  • 这并不能回答问题,但是您是否考虑过在将 .py 文件中的 zip 传递给 .html 文件之前使用它?
  • 好吧,我正在尝试在表格中显示数组中的项目,我尝试在我的 HTML 中执行两个“for 循环”,但没有成功,然后遇到了“zip”,但似乎无法让它发挥作用

标签: python jinja2


【解决方案1】:

zip 是一个 Python 函数,因此您需要以与传递要在 jinja 模板中使用的其他变量相同的方式传递。


    # flask code 
    return render_template('page.html',
                           column_names = df.columns.values,
                           row_data=list(df.values.tolist()),
                           zip=zip)

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2016-10-09
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多