如何使用 if 条件将 django 数组元素添加到 js 数组中

Posted

技术标签:

【中文标题】如何使用 if 条件将 django 数组元素添加到 js 数组中【英文标题】:how can I add a django array element into a js array using an if condition 【发布时间】: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 吗?看看这是否有效。 【参考方案1】:

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

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

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

【讨论】:

以上是关于如何使用 if 条件将 django 数组元素添加到 js 数组中的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Vue.js 和 Tailwind 基于数组中的元素有条件地将多个类添加到 <span>?

如何向已包含 .map 和 .filter 的箭头函数添加 if 、 else if 和 else 条件?

可以使用内联语法有条件地将元素添加到数组中吗?

如何使用 vue js html 中的数组检查 v-if 条件?

Django 条件模板继承

js 数组遍历时删除元素