Как загрузить графы черточки в шаблоне django, используя вызов ajax? - PullRequest
0 голосов
/ 24 мая 2019

На картах Google я поставил несколько маркеров, где я разместил датчики контроля качества воздуха.Теперь, когда я хочу щелкнуть маркер, он показывает мне данные датчиков на графиках, для этого я использую Dash Plotly для рисования графиков.И чтобы показать графики при нажатии, я отправляю ajax-запрос в django views.py, где функция dash_view () возвращает html fil=(chart.html), используя функцию jquery. Я помещаю код chart.html в div id=#chart_div, который находится в index.html.Теперь проблема в том, что когда я впервые нажимаю на маркер, он показывает только то, что графики загружаются с этой

Uncaught ReferenceError: DashRenderer не определен

ошибка в консоли, когдаЯ нажимаю на маркер только несколько раз, после чего отображаются графики, и после двойного или тройного щелчка один щелчок также начинает работать.И когда я использую {% plotly_direct name="AQI" %} для рендеринга графика в шаблоне, требуется несколько кликов для отображения графиков, а когда я использую {% plotly_app name="AQI" %}, он работает одним щелчком мыши, но стилизация всего графика удаляется. Это то, что я получаю , когда я использую {% plotly_direct name="AQI" %}, и Это то, что я получаю , когда я использую {% plotly_app name="AQI" %}.Стиль удаляется, когда я использую {% plotly_app name="AQI" %}

#############views.py#############

@csrf_exempt
def dash_view(request):
    return render (request,'map/chart.html')

#############ajax_call on click marker##############
function ajax() {
    var json = {};
    // json['a'] = 1;
    $.ajax({
        url: "dash",
        type: "POST",
        data:json,
        dataType: "html",
        success : function(res)
        {
            $('#chart_div').html(res);
            console.log(res);
​
        }
    });
}
#############chart.html#############
{% load static %}
{% block content%}
<div class="col-md-12 col-sm-12 col-xs-12 no-space" style="border: 2px black solid;">
    <div class="side-info">
      {% load plotly_dash %}
​
      <div id="chart_div"class="col-md-12 col-sm-12 col-xs-12 no-space fa-pull-right">
        {%plotly_direct name="AQI"%}
        {% plotly_footer %}
      </div>
    </div>
  </div>
{% endblock%}
#############index.html#############
<div class="container-fluid">    
  <div class="row">    

    <div class="col-md-12 col-sm-12 col-xs-12 no-space " >
      <div id="map"></div>
    </div>
  
    <div id="chart_div" class="col-md-12 col-sm-12 col-xs-12 no-space" style="border: 2px black solid;">
 
    </div>

  </div>
</div>
...