【发布时间】:2020-09-14 09:53:46
【问题描述】:
我正在使用带有一些数据的chartJs,我希望用户能够动态更改图表项目的数量。
目前,我正在处理 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 %}]
(我猜这个写法可以改进,但这不是本文的目的)
我的问题是:
- 我希望用户能够更改列表的项目数,即图表的列数,即上面的切片参数 (-3)。如何使用 javascript 函数来做到这一点?
类似<a href='' onClick='changeColumnsTo(5)'>Last 5 values</a>改变{% for data in list|slice:'-3:' %}{{ data|unlocalize }}, {% endfor %}中的切片命令参数
我知道我可以解决问题,让 Django 的 views.py 用我想要的 N 个值计算列表,重新加载页面。但我不想用这么多不必要的调用来扰乱我的服务器。
我想知道,除了基于 javascript 的解决方案之外,是否还有另一种方法(从不重新加载页面)?
提前致谢!
【问题讨论】:
标签: javascript django django-templates chart.js