Я ищу многоразовое и простое решение для визуализации действительного объекта JSON в виде таблицы HTML с использованием Django.Процесс выглядит следующим образом:
Views.py
from utils load get_data_frame
class MyView(TemplateView):
template_name = "my_template.html"
df = get_data_frame()
column_data = [{"field": val, "title": val} for val in df.columns.values]
json_object = df.to_json(orient='records')
context['json_data'] = json_object
context['columns'] = column_data
my_template.html
<script>
var my_data = {{ json_data|safe }};
var column_data = {{ columns|safe }};
$( function() {
$( "#my-cool-table" ).dataTable(
{
"columnDefs": [{
"defaultContent": "-",
"targets": "_all"
}],
"data": my_data,
"columns": column_data,
});
});
</script>
{% if json_data %}
<table id="my-cool-table">
<thead>
</thead>
<tbody>
</tbody>
</table>
{% else %}
Однако, когда я отображаю этот шаблон, столбцы отображаются без проблем, ноданные таблицы отображают только значения по умолчанию "-", указанные в defaultContent
.Я пропускаю аргумент для dataTables
?Или тег <script>
не в том месте?
Когда я печатаю переменную my_data
в консоли Firefox, она появляется в формате:
Array(17) [ {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, … ]