Как отобразить несколько графиков Plotly на веб-странице HTML? (с помощью plot_div)

Я хочу отобразить несколько графиков plotly на веб-странице HTML. Я перепробовал много кодов, но самый простой, который я нашел, был следующим:

В моей функции представления у меня есть:

for graphs in res:
            plot_div = plot(res[graphs], output_type='div')

        return render(request, '__', context={'plot_div': plot_div, "result": res})

В моем HTML у меня есть:

<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>test</title>
</head>
<body>
  {% autoescape off %}
  {{ plot_div }}
  {% endautoescape %}
</body>
</html>

Однако отображается только последний график. Это происходит потому, что переменная plot_div постоянно обновляется в цикле for. Таким образом, я попытался создать словарь следующим образом:

plot_div = dict()
        for index, graphs in enumerate(res, 1):
            plot_div.update({index: plot(res[graphs], output_type='div')})

        return render(request, 'account/user/IndFin/indfin_resultado.html', context={'plot_div': plot_div, "result": res})

Таким образом, мне нужно было изменить HTML на:

{% for graphs in plot_div %}
    {{plot_div.graphs}}
{% endfor %}

Но в результате я получаю на своей веб-странице результат матрицы и последний график. Никаких графиков вообще, только последний. Кто-нибудь уже сталкивался с такой проблемой?

Спасибо

Это нельзя сделать с помощью Plot_div, но можно с помощью plotly введите описание ссылки здесь

Мне кажется, вам нужен список dicts вместо dict, что-то вроде

plot_div = [{index: plot(res[graphs], output_type='div')} for index, graphs in enumerate(res, 1)]
return render(request, 'account/user/IndFin/indfin_resultado.html', context={'plot_div': plot_div, "result": res})

А в вашем шаблоне

{% for plot in plot_div %}
    {{plot .output_type}}
{% endfor %}
Вернуться на верх