如何将包含字典的对象呈现为jinja2中的模板?

2024-05-18 23:42:49 发布

您现在位置:Python中文网/ 问答频道 /正文

假设列表是a1=[ ],a2=[ ],a3=[ ],a4=[ ],a5=[ ]

它们的动态值如下所示:

a1=[]
a2=[]
a3=[{'car':'bez','city':'la','aero':'vaar'}]
a4=[]
a5=[{'car':'tez','city':'pa','aero':'vawear'}]

我只想呈现那些有值的,在这个例子中是a3和a5,那么我如何检查有值的列表,然后将其呈现到模板中卡片.html在

^{pr2}$

然后创建一个链接来获取特定的对象表,我该怎么做呢?在

<html>
<body>
<p><a hr ef="/card">card</a></p> """which gives a3 value"""
<p><a href="/card">card</a></p>"""which gives a5 value"""
</body>
</html>

Tags: a2citywhich列表htmla1bodycard
1条回答
网友
1楼 · 发布于 2024-05-18 23:42:49

您可以合并所有列表,然后对其进行迭代。在

示例:

from jinja2 import Template

myString = """<table>
    <tbody>
        <thead>
            <th>car</th>
            <th>city</th>
            <th>aero</th>
        </thead>
        {% for key in data %}
            <td>{{ key['car'] }}</td>
            <td>{{ key['city'] }}</td>
            <td>{{ key['aero'] }}</td>
        {% endfor %}
    </tbody>
</table>"""

a1=[]
a2=[]
a3=[{'car':'bez','city':'la','aero':'vaar'}]
a4=[]
a5=[{'car':'tez','city':'pa','aero':'vawear'}]

d = (a1 + a2 + a3 + a4 + a5)
data = Template(myString).render({'data': d})
print(data)

输出:

^{pr2}$

相关问题 更多 >

    热门问题