【问题标题】:how can I add a django array element into a js array using an if condition如何使用 if 条件将 django 数组元素添加到 js 数组中
【发布时间】:2021-09-30 19:32:46
【问题描述】:

我有一个通过表单提交数据的 Django 项目,我正在尝试使用 chart.js 来显示数据。我需要检查一个数组是否存在(),如果是,然后将一个项目添加到 'mycharts.js' 中的 'labels' 数组中。这是我到目前为止所拥有的

django views.py

    ing1 = request.POST.getlist('ingredients1')
    ing2 = request.POST.getlist('ingredients2')
    ing3 = request.POST.getlist('ingredients3')

(我已将上述内容传递到我的上下文中)

mycharts.js

var ctx = document.getElementById('myChart').getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {chart.js
        labels: ['{{ing1.0}}', '{{ing2.0}}', {% if ing3|length > 1 %} '{{ing3.0}}', {% endif %}],
        datasets: [{
            label: '# of Votes',
            data: [12, 19, 3, 5, 2, 3],
(etc...)

如果我取出'labels'数组中的if语句,那么它会显示'ing1'和'ing2'标题,但我无法让它与这个if语句一起工作,正确的做法是什么它。

【问题讨论】:

  • 你能用引号包围你的if 吗?看看这是否有效。

标签: javascript jquery django chart.js


【解决方案1】:

我在视图中将“ing1”、“ing2”和“ing3”放入名为“title”的列表中,然后将该列表放入上下文中,然后在 chart.js 脚本中执行以下操作:

{% for item in title %} '{{ item }}', {% endfor %}

现在它将正确的数据添加到标签数组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2015-05-14
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    相关资源
    最近更新 更多