jinja2 中的 for-in-if 抛出异常
for-in-if in jinja2 throws exception
我是 Python 和 Jinja2 的新手。我想在列表的字典中读取一个值。我认为这样的操作是有答案的here。不幸的是,这在 Jinja2 中似乎不起作用。我明白了:
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'item'.
据我所知,Jinja2 不理解完整 Python,我认为这是问题的核心。谁能确认一下?
使用 Flask 的示例:
main.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
dicts = [
{ "name": "Tom", "age": 10 },
{ "name": "Mark", "age": 5 },
{ "name": "Pam", "age": 7 },
{ "name": "Dick", "age": 12 }
]
return render_template("test.html", dicts = dicts)
if __name__ == '__main__':
app.run(debug = True)
在文件夹模板中
test.html
<html>
<head>
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
{% for dic in dicts %}
{%if dic['name'] == 'Pam'%}
<tr><td><b>{{dic['name']}}</b></td><td><b>{{dic['age']}}</b></td></tr>
{%else%}
<tr><td>{{dic['name']}}</td><td>{{dic['age']}}</td></tr>
{%endif%}
{% endfor %}
</table>
</body>
</html>
输出:
我是 Python 和 Jinja2 的新手。我想在列表的字典中读取一个值。我认为这样的操作是有答案的here。不幸的是,这在 Jinja2 中似乎不起作用。我明白了:
jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'item'.
据我所知,Jinja2 不理解完整 Python,我认为这是问题的核心。谁能确认一下?
使用 Flask 的示例:
main.py
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def hello_world():
dicts = [
{ "name": "Tom", "age": 10 },
{ "name": "Mark", "age": 5 },
{ "name": "Pam", "age": 7 },
{ "name": "Dick", "age": 12 }
]
return render_template("test.html", dicts = dicts)
if __name__ == '__main__':
app.run(debug = True)
在文件夹模板中
test.html
<html>
<head>
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
{% for dic in dicts %}
{%if dic['name'] == 'Pam'%}
<tr><td><b>{{dic['name']}}</b></td><td><b>{{dic['age']}}</b></td></tr>
{%else%}
<tr><td>{{dic['name']}}</td><td>{{dic['age']}}</td></tr>
{%endif%}
{% endfor %}
</table>
</body>
</html>
输出: