rav*_*raj 3 html python user-interface jinja2 flask
我使用 Flask jinja2 模板将一个列表列表发送到我的 HTML 页面。我想检查:- 列表中的项目是否属于 str 类型?但得到一个例外
jinja2.exceptions.UndefinedError:“isinstance”未定义
代码如下:-
{% 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 %}
Run Code Online (Sandbox Code Playgroud)
我能够在 jinja 2 模板中使用split(",")
函数并希望使用 pythonisinstance()
或。str()
jinja 模板中的语言实际上并不是 python,它看起来像 python,这意味着 python 内置函数不存在。要使 python 内置函数出现在每个模板中,请在启动时将任何所需的内置函数添加到globals
构建jinja2.Environment
. 像下面这样:
app.jinja_env.globals.update(isinstance=isinstance)
Run Code Online (Sandbox Code Playgroud)
或者
import jinja2
env = jinja2.Environment()
env.globals.update(isinstance:isinstance)
Run Code Online (Sandbox Code Playgroud)