如何在 Django 模板上传递 Python 列表并在 JavaScript 中使用它?

How do I pass Python list on Django template and use it in JavaScript?

我有一个 python 列表,里面有列表。我将它渲染到 Django 模板中以在我的 JavaScript 中使用。我做了 json.dumps(postImages),然后用 let postImages = {{ postImages|safe }} 逃脱了。即使我的 lint 发出警告,它也有效!但问题是,在主列表中有列表。所以每当我这样做时,postImages[0].lengthpostImages[0][0],它认为它是一个字符串,现在是一个列表。

<script>
  var postImages = {{ postImages|safe }};
  const divCard = document.querySelector('.card');
  const divDesc = document.querySelector('.description');
  console.log(postImages.length)
  for (let i = 0; i < postImages.length; i++){
      let img = document.createElement('img');
      img.classList = ['resize_no_stretch', 'images']
      img.setAttribute('src', postImages[i][0]);
      console.log(postImages[i][0])
      divCard.insertBefore(img, divDesc);
  };
</script>

现在已经解决了。 我所做的是,我在我的视图中导入 json 而不是正常渲染它,我 json.dumps() 它。

views.py:

import json

postImages = json.dumps(list_of_lists)

return render(request, 'craiglist_clone/results.html', {'postImages' : postImages})

django 模板 (craiglist_clone/results.html):

let postImages = {{ postImages|safe }}

我给你的 lint 发出了警告,但它仍然有效!