Python / Django - Как сопоставить список значений в словаре с таблицей HTML? - PullRequest
0 голосов
/ 02 августа 2020

Мой Django Просмотр:

def hub(request):

  context = {} 

  hub_id = [value['id'] for value in hub_data['data']]
  hub_name = [value['attributes']['name'] for value in hub_data['data']]
  hub_url = [value['links']['self']['href'] for value in hub_data['data']]

  nested_dict = dict(zip(hub_name, map(list, zip(hub_id, hub_url))))

  context ['rows'] = nested_dict

  return render(request, 'connector/hub.html', context)

Контекст ['строки'] приводит к:

{'rows': {hub_name1 : ['hub_id1', 'hub_url1'],{hub_name2 : ['hub_id2', 'hub_url2'], etc.. }

Я пытаюсь передать ему таблицу HTML, которая выглядит вот так:

  <th scope="col">Hub Name</th>
  <th scope="col">Hub ID</th>
  <th scope="col">Hub URL</th>

Мой tablebody выглядит так:

  <tbody>
    {% for key, value in rows.items %}
      <tr>
        <td> {{ key }}</td>
        <td> {{ value }}</td> **//how do i just get hub_id here**
        <td> Don't know what to do here to get: hub_url </td>

      </tr>  
    {% endfor %}
  </tbody>

Но я хочу добавить еще -tag для заполнения с помощью hub_url. Как мне извлечь данные hub_id и добавить их в столбец: Hub ID, извлечь hub_url и добавить его в столбец URL Hub.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 02 августа 2020

Вы можете передать данные в шаблон без его преобразования

return render(request, 'connector/hub.html', {'data': hub_data['data']})

А затем искать атрибуты, используя синтаксис шаблона «точка» для каждой строки

<tbody>
  {% for row in data %}
    <tr>
      <td>{{ row.attributes.name }}</td>
      <td>{{ row.id }}</td>
      <td>{{ row.links.self.href }}</td>
    </tr>  
  {% endfor %}
</tbody>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...