Как получить список данных json словаря и показать его на html-странице в виде таблицы
У меня есть два столбца данных. Один - "Код GLI", а другой - "Страна".
Мне нужно установить данные "Код GLI" в столбце "Код GLI". Данные "Страна" в столбце "Страна". Вот мои данные в формате списка словаря.
просматривает файл:
def tables_data(request):
dbfs_source_file_path = 'dbfs:/mnt/adls/MPF/Alternate_Currency_Keys_Aug.csv'
local_file_download_path = './mpf_dataset.csv'
dbfs_api = DbfsApi(api_client)
dbfs_path = DbfsPath(dbfs_source_file_path)
dbfs_api.get_file(dbfs_path, local_file_download_path, overwrite = True)
df = pd.read_csv(local_file_download_path).head(5)
json_records = df.reset_index().to_json(orient ='records')
data = []
data = json.loads(json_records)
return render(request, "home/tables-data.html", {'data':data})
вывод данных:
[{'index': 0, 'GLI Code': '15013256_U', 'Country': 'Indonesia', },
{'index': 1, 'GLI Code': '20061265_U', 'Country': 'Philippines'},
{'index': 2, 'GLI Code': '20063869_U', 'Country': 'Indonesia'}]
html файл:
<thead>
<tr>
{% for i in data %}
<th>{{i}}</th>
{% endfor %}
</tr>
</thead>
<tbody>
<tr>
{% for g in data.GLICode %}
<td>{{g}}</td>
{% endfor %}
</tr>
<tr>
{% for c in data.Country %}
<td>{{c}}</td>
{% endfor %}
</tr>
</tbody>
Вышеприведенный html-код не дает мне ожидаемого результата, как показано на скриншоте ниже.
Я хочу установить данные в формате, представленном ниже на скриншоте.
Я думаю, что будет лучше использовать ajax запрос Вместо этого, пожалуйста Посетите: https://www.google.com/amp/s/www.geeksforgeeks.org/handling-ajax-request-in-django/amp/
Но основная проблема с вашим кодом в том, что вы пытаетесь получить ключ в HTML, что не совсем корректно, вы можете посмотреть пример Visit: https://www.appsloveworld.com/django/100/431/how-to-display-json-items-in-django-templates
Сделать что-то вроде этого будет работать, но! нужно убрать пробел из 'GLI Code' в данных... Использование ключей словаря с пробелами в шаблонах кажется огромной головной болью (дополнительные пользовательские теги шаблона + прочее) - можно сделать, не рекомендую
<table>
<thead>
<tr>
<th></th>
<th>GLI Code</th>
<th>Country</th>
</tr>
</thead>
<tbody>
{% for i in data %}
<tr>
<th>{{i.index}}</th>
<th>{{i.GLICode}}</th>
<th>{{i.Country}}</th>
</tr>
{% endfor %}
</tbody>
</table>