Обработка ChartJS через Flask - PullRequest
2 голосов
/ 05 мая 2019

Я делаю проект, который сканирует веб-сайт, сохраняет некоторую информацию и отображает ее в виде графика.

Я использую Flask и ChartJS для отображения всего.

По сути, я сделалкласс с именем Snapshot выглядит примерно так:

class Snapshot:
    list_1 = ['id1', 'id2', 'id3']
    list_1_score = [ 10, 15, 20 ]
    timestamp = '19:50'

Теперь то, что я хочу отобразить на диаграмме, это, конечно, все снимки, сделанные на этом веб-сайте.

К сожалению, ChartJS ожидаетэтот формат:

data: {
            labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
            datasets: [{
                label: 'My First dataset',
                backgroundColor: window.chartColors.red,
                borderColor: window.chartColors.red,
                data: [
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor()
                ],
                fill: false,
            }, {
                label: 'My Second dataset',
                fill: false,
                backgroundColor: window.chartColors.blue,
                borderColor: window.chartColors.blue,
                data: [
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor(),
                    randomScalingFactor()
                ],
            }]
        }

, который «несовместим» с моим.Имейте в виду, что записи в списке list_1 тоже могут исчезнуть.

Фактический шаблон, который я использую, -

data: {
            labels: {{timestamps|safe}},

            datasets: [
                {% for item in labels %}
                {label: '{{item}}',
                {{ dataset[loop.index0] }}
                {% if loop.length != loop.index1 %}
                    ,
                {% endif %}

                {% endfor %}

            ]
        }

Я немного запутался в том, как я могу генерировать наборы данных, учитывая, что:

1) Идентификаторы могут исчезнуть (контент был удален)

2) Идентификаторы могут появиться (контент был только что добавлен)

Конечно, если идентификаторы действительно появляются, они должны появляться, начиная сиз отметки времени снимка, в котором они появляются (как бы я это сделал? заполнить раздел данных None или как?).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...