【问题标题】:How to slice list items in Django Template using javascript (or similar)如何使用 javascript(或类似的)在 Django 模板中切片列表项
【发布时间】: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


    【解决方案1】:

    我刚刚意识到我不能使用 slice 参数,因为它会有效地分割列表。 我没有在第一条消息中解释它,但我的目标是用户可以一遍又一遍地更改他想要查看的列数。 如果我对列表进行切片,我将无法再获取切片数据...

    尽管如此,我仍然希望用户更改图表中(最后)列的数量。

    谢谢大家!

    【讨论】:

      猜你喜欢
      • 2014-06-18
      • 2017-04-24
      • 2013-04-30
      • 2012-07-22
      • 2018-12-24
      • 2012-02-08
      • 2020-09-09
      • 1970-01-01
      • 2017-02-09
      相关资源
      最近更新 更多