Как нарезать элементы списка в шаблоне Django, используя javascript (или аналогичный) - PullRequest
0 голосов
/ 27 мая 2020

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

В настоящее время я работаю над шаблоном Django с данными вычислено в представлении в Python / Django, которое представлено в виде простого списка (например, данные: [5133.85, 1103.59, 1837.62, 378.90, 467.29, 107.35, 147.17, 0,])

Django код шаблона для данных набора данных моей диаграммы выглядит следующим образом (в котором перечислены последние 3 значения списка) и работает нормально:

data: [{% for data in list|slice:'-3:' %}{{ data|unlocalize }}, {% endfor %}]

(способ это написано может быть улучшено, я думаю, но это не цель этого поста)

Мой вопрос:

  • Я хочу, чтобы пользователь мог изменить количество элементы списка, следовательно, количество столбцов диаграммы, ie, что параметр среза выше (-3). Как я могу сделать это с помощью функции javascript?

Что-то вроде <a href='' onClick='changeColumnsTo(5)'>Last 5 values</a> изменение параметра команды slice в {% for data in list|slice:'-3:' %}{{ data|unlocalize }}, {% endfor %}

Я знаю, что могу решить проблему получая Django views.py вычисляет список с N значениями, которые я хочу, перезагружая страницу. Но я не хочу расстраивать свой сервер таким количеством ненужных вызовов.

Интересно, есть ли другой способ сделать это вместо решения на основе javascript (никогда не перезагружать страницу)?

Заранее спасибо!

1 Ответ

0 голосов
/ 27 мая 2020

Я только что понял, что не могу использовать параметр slice, так как он эффективно разрезал бы список. Я не объяснял это в первом сообщении, но моя цель состоит в том, чтобы пользователь мог изменять количество столбцов, которые он хочет видеть, снова и снова. Если я разрежу список, я больше не смогу получить нарезанные данные ...

Тем не менее, я все еще хочу, чтобы пользователь изменил количество (последних) столбцов на графике.

Спасибо вы все!

...