Как получить доступ к элементам словаря списка из файла HTML WebPy - PullRequest
0 голосов
/ 03 марта 2019
# 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 голосов
/ 10 марта 2019

Пара вещей, сначала обратите внимание, что ваш цикл будет повторяться <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 не отсортировано, поэтомувам нужно явно указать имена атрибутов, чтобы получить их в правильном порядке.

...