我正在使用flask jinja2模板向我的HTML页面发送一个列表列表。我想检查:- 列表中的项目是否属于 str 类型?。但得到一个异常(exception)
jinja2.exceptions.UndefinedError: 'isinstance' is undefined
代码如下:-
{% for i in req%}
<tr>
<th scope="row">{{loop.index}}</th>
<td>{{i[1]}}</td>
<td>{{i[24]}}</td>
<td>{{i[49]}}</td>
<td>{{i[53]}}</td>
{% if isinstance(i[86], str) %}
{% for j in i[86].split(",") %}
<ol>
<li>{{i[86]}}</li>
</ol>
{% endfor %}
{% else %}
<td>{{i[86]}}</td>
{% endif %}
</tr>
{% endfor %}
我可以使用
split(",")
功能和想用isinstance()
或 str()
jinja 2 模板中的 python 。
最佳答案
jinja 模板中的语言实际上不是 python,它看起来像 python,这意味着 python 内置程序不存在。要使每个模板中都包含 python 内置插件,请在启动时将任何必需的内置插件添加到 globals
中。构建 jinja2.Environment
时的参数.像下面这样:
app.jinja_env.globals.update(isinstance=isinstance)
或者
import jinja2
env = jinja2.Environment()
env.globals.update(isinstance:isinstance)
关于python - 如何在flask jinja2模板中使用python函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62167968/