如何从webpy html文件访问列表的字典项

时间:2019-03-03 18:46:43

标签: python html list dictionary web.py

# index.html

$def with (data)
    $for i in data: 
        <tbody>
        <tr>
        <td>$i</td>
        </tr>
        <tbody>

此处数据包含诸如

之类的列表
[
    {
        "id":1,
        "name":"Prosenjit Das",
        "log_date":"2019-03-02",
        "log_time":"12:10:12.247257",
        "login":null,
        "logout":null
    },
    {
        "id":2,
        "name":"Sudipto Rahman",
        "log_date":"2019-03-02",
        "log_time":"12:10:12.247257",
        "login":"11:26:45",
        "logout":"10:49:53"
    },
    {
        "id":3,
        "name":"Trump Khatun",
        "log_date":"2019-03-02",
        "log_time":"12:10:12.247257",
        "login":null,
        "logout":null
    }
]

我想以访问原始Python代码的方式访问每个字典项。但是就像python条件一样,这里不起作用。有什么办法可以访问那些字典项吗?如果没有,那我可以通过哪种方式将jinja2实施到webpy中?

在这里您可以查看我的所有代码以进一步阐明。 https://pastebin.com/tB4CVXpn

谢谢。

1 个答案:

答案 0 :(得分:1)

结合事物,首先请注意,您的循环每次都会重复<tbody></tbody>,因此您需要以下内容:

<tbody>
$for i in data:
    <tr><td>$i</td></tr>
</tbody>

这还不是全部,因为我想您正在将dict的每个属性都放在单独的TD元素中。

因此,使用另一个循环代替$ i:

<tbody>
$for i in data:
    <tr>
    $for x in ('id', 'name', 'log_date', 'login', 'logout'):
        <td>$i[x]</td>
    </tr>
</tbody>

请记住,dict未排序,因此您需要显式列出属性名称,以便以正确的顺序获取它们。