javascript - 在模板中查找 key 失败

标签 javascript django

我试图获取字典中的特定列表,但首先我收到错误:“无法查找 key ”,在互联网上搜索我发现了此解决方案的一个步骤:

{% with obj1.page.val2 as val2 %}
     {{ obj1.val1|default:val2 }}
{% endwith %}

但它不起作用,这里是我的代码:

keyData = '\'' + id + '|' + id2 + '|' + id3 + '\'';
console.log(keyData);
var val2;                       

try
{      
     {% with keyData as val2 %}
         console.log(val2);
         datas = {{product_prices_complex_key|get_item:val2|safe}};
     {% endwith %}                      

     console.log(datas);
}catch(err){console.log(err);}

关键数据:WA5-8|2|5

并且在字典中。

最佳答案

您需要将product_prices_complex_key转换为JS对象,以便您可以使用它来执行动态查找。 json_script标签提供了一种方法来做到这一点。

这会出现在页面上脚本之前的某个位置,但不会出现在脚本标记内

{{ product_prices_complex_key|json_script:"data" }}

然后可以像这样访问这些数据

var product_prices_complex_key = JSON.parse(document.getElementById('data').textContent);
keyData = '\'' + id + '|' + id2 + '|' + id3 + '\'';
console.log(keyData);                

try
{
     datas = product_prices_complex_key[keyData];
     console.log(datas);
}catch(err){console.log(err);}

关于javascript - 在模板中查找 key 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59258654/

相关文章:

json - 在 DRF 中序列化嵌套对象

python - Django 在数据库中搜索

python - 在 django 中获取表单所需 BooleanField 的简单方法

javascript - iframe 在页面底部切断

javascript - Vue Js 中 @import sass 文件的问题

Django collectstatic 与 crontab

python - Django JSON 字段。 'module' 对象没有属性 'JSONField'

javascript - 通过javascript将数组打印到表中

javascript - 设置倒数计时器的时间

javascript - 用守夜人看网络