Jinja 2条件显示
Jinja 2 conditional display
大家好,我坚持使用 jinja 并寻找在我的前端循环数据的正确方法,有人可以帮助我吗?
我的 json 数据 mongodb
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "politique"
}
json data
我只想循环 subject == value
那样的房间
{% if current_user.is_authenticated %}
{% for room in rooms %}
{% if room.subject == 'politique' %}
{{ room.room_name }
{% endif %}
{% endfor %}
{% endif %}
但是 jinja 显示了我所有的房间元素,我只想显示 subject == "politique"
的房间
我没有找到正确的方法!
有人可以帮助我吗?
您的模板存在一些问题,但我认为这些是拼写错误。你没有展示你实际上是如何加载房间的,我认为问题在于那部分。
下面的代码适合我。请注意,我从字符串加载房间,因为您没有显示如何加载它。
from jinja2 import Template
import json
json_string = """[
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "politique"
},
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "no pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "not_politique"
}
]"""
rooms = json.loads(json_string)
tm = Template("""{% for room in rooms %}
{% if room.subject == 'politique' %}
{{ room.name }}
{% endif %}
{% endfor %}""")
output = tm.render(rooms=rooms)
print(output)
输出
pour ou contre
我在渲染模板中修复了这个错误的调用,谢谢你的帮助 AKX
大家好,我坚持使用 jinja 并寻找在我的前端循环数据的正确方法,有人可以帮助我吗?
我的 json 数据 mongodb
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "politique"
}
json data
我只想循环 subject == value
那样的房间
{% if current_user.is_authenticated %}
{% for room in rooms %}
{% if room.subject == 'politique' %}
{{ room.room_name }
{% endif %}
{% endfor %}
{% endif %}
但是 jinja 显示了我所有的房间元素,我只想显示 subject == "politique"
的房间
我没有找到正确的方法!
有人可以帮助我吗?
您的模板存在一些问题,但我认为这些是拼写错误。你没有展示你实际上是如何加载房间的,我认为问题在于那部分。
下面的代码适合我。请注意,我从字符串加载房间,因为您没有显示如何加载它。
from jinja2 import Template
import json
json_string = """[
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "politique"
},
{
"_id": {
"$oid": "623492fea76c5404b9f57476"
},
"name": "no pour ou contre ",
"created_by": "admin",
"created_at": {
"$date": {
"$numberLong": "1647612670472"
}
},
"subject": "not_politique"
}
]"""
rooms = json.loads(json_string)
tm = Template("""{% for room in rooms %}
{% if room.subject == 'politique' %}
{{ room.name }}
{% endif %}
{% endfor %}""")
output = tm.render(rooms=rooms)
print(output)
输出
pour ou contre
我在渲染模板中修复了这个错误的调用,谢谢你的帮助 AKX