如何在 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].length
或 postImages[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 发出了警告,但它仍然有效!
我有一个 python 列表,里面有列表。我将它渲染到 Django 模板中以在我的 JavaScript 中使用。我做了 json.dumps(postImages)
,然后用 let postImages = {{ postImages|safe }}
逃脱了。即使我的 lint 发出警告,它也有效!但问题是,在主列表中有列表。所以每当我这样做时,postImages[0].length
或 postImages[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 发出了警告,但它仍然有效!