проблема с форматом даты в графике движения в Джанго - PullRequest
0 голосов
/ 16 мая 2011

Использование графика движения Google для создания графика в Django.Я столкнулся с проблемой формата даты при конвертации из django t0. Форма даты JavaScript новая Дата (2011, 01, 01).

ссылка на диаграмму движения: http://code.google.com/apis/chart/interactive/docs/gallery/motionchart.html

ниже приведен код, как:

ml =[]
for i in data:
   year = m['month'].strftime('%Y')
   month = m['month'].strftime('%m')
   day = m['month'].strftime('%d')
   check = 'new Date(%s, %s, %s)' % (year, month, day)
   ml.append([str(m[selected_mode]),check, m['total']])

ml вернул список

у меня есть такой вывод в hmtl:

<script type="text/javascript"> 
      google.load('visualization', '1', {'packages':['motionchart']});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = new google.visualization.DataTable();

        data.addColumn('string', 'Mode');
        data.addColumn('date', 'Date');
        data.addColumn('number', 'Total');
        data.addRows([["sl", "new Date(2011, 01, 01)", 31], ["kl", "new Date(2011, 02, 01)", 13], ["ml", "new Date(2011, 01, 01)", 51], ["rl", "new Date(2011, 03, 01)", 30], ["ml", "new Date(2011, 02, 01)", 22], ["sl", "new Date(2011, 03, 01)", 30], ["kl", "new Date(2011, 03, 01)", 28], ["sl", "new Date(2011, 02, 01)", 24], ["rl", "new Date(2011, 01, 01)", 17], ["rl", "new Date(2011, 02, 01)", 4], ["kl", "new Date(2011, 01, 01)", 5], ["sl", "new Date(2011, 04, 01)", 1]]);
        var chart = new google.visualization.MotionChart(document.getElementById('chart_div'));
        chart.draw(data, {width: 600, height:300});
      }
    </script> 

здесь "new Date (2011, 01, 01)" принимает какстрока, но она должна быть в новой дате (2011, 01, 01), не могли бы вы помочь мне, как сделать так, чтобы она имела новую дату (2011, 01, 01)

"новая дата (2011, 01, 01) "==> Новая дата (2011, 01, 01)

Ниже приведен шаблон

    {% extends "newbase.html" %}
    {% block extra_js %}
   <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
          google.load('visualization', '1', {'packages':['motionchart']});
          google.setOnLoadCallback(drawChart);
          function drawChart() {
            var data = new google.visualization.DataTable();

            data.addColumn('string', 'Mode');
            data.addColumn('date', 'Date');
            data.addColumn('number', 'Total');
            data.addRows({{ m1|safe }});
            var chart = new google.visualization.MotionChart(document.getElementById('chart_div'));
            chart.draw(data, {width: 600, height:300});
          }
        </script>
    {% endblock %}
    {% block content %}
    <div id="chart_div" style="width: 600px; height: 300px;"></div>
    </center>
    {% endblock %}

1 Ответ

1 голос
/ 20 мая 2011

Наконец-то я решил свою проблему. Создал DIC и визуализировал в HTML, ниже приведен фрагмент

<script type="text/javascript">

          google.load('visualization', '1', {'packages':['motionchart']});
          google.setOnLoadCallback(drawChart);
          function drawChart() {
            var data = new google.visualization.DataTable();

            data.addColumn('string', 'Mode');
            data.addColumn('date', 'Date');
            data.addColumn('number', 'Total');
            data.addRows([
    {% for fetch in m1 %}
    [" {{ fetch.mode }}", new Date("{{ fetch.month|date:'D M d 00:00:00 Y' }}"), {{ fetch.total }}],
    {% endfor %}

    ]);
            var chart = new google.visualization.MotionChart(document.getElementById('chart_div'));
            chart.draw(data, {width: 1000, height:300});
          }
        </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...