gpt4 book ai didi

python - 如何将 Django 变量作为 javascript 方法参数传递?

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:41 27 4
gpt4 key购买 nike

我的 views.py 中有以下 extra_context

extra_context = {
'user': list_user,
'time': str(list_time),
'latlng': list_latlng
}

以上所有变量都是python list的数据类型。现在我想在 Gmap v3 javascript 中使用这些变量。我为谷歌地图找到了以下片段:(发布主要部分)

<script type="text/javascript">
var map ;
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 2,
center: latlng,
mapTypeId: google.maps.MapTypeId.TERRAIN
};

map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var flightPlanCoordinates = [ {% for ip in latlng %}{{ ip }}{% endfor %}];
for(var i in flightPlanCoordinates){
var marker = add_marker(flightPlanCoordinates[i][0], flightPlanCoordinates[i][1],"Some title!","html for info box");
marker.setMap(map);
}
}

function add_marker(lat,lng,title,box_html) {
var infowindow = new google.maps.InfoWindow({
content: box_html
});

var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
title: title
});

google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});

return marker;

上面的代码显示了一个标记,该标记符合从上下文传递的 latlng 列表。但是当我也尝试以相同的方式传递 time 和 user 时,问题就出现了。它在 map 上什么也没有显示。顺便说一句,我试过这个代码:

var user = [{% for i in user %}{{ i }}{% endfor %}]; 
var timestamp = [{% for y in time %}{{ y }}{% endfor %}];

这是正确的方法吗?我是根据 latlng 代码编写的 javascript 新手。

我尝试使用 alert(timestamp)。没有任何反应:(

另一个问题是我必须将这三个参数传递给 add_markerjava脚本方法。为此,我必须同时运行三个 for 循环。发布伪代码:

var user = [{% for i in user %}{{ i }}{% endfor %}]; 
var timestamp = [{% for y in time %}{{ y }}{% endfor %}];
var flightPlanCoordinates = [ {% for ip in latlng %}{{ ip }}{% endfor %}];
for (var in flightPlanCoordinates) and for (a in timestamp) and for(b in user)
{
var marker = add_marker(flightPlanCoordinates[i][0], flightPlanCoordinates[i][1],b,a);
marker.setMap(map);

最佳答案

您需要将变量定义为:

var user = [{% for i in user %}{{ i }}{% if forloop.last %} {%else%} , {%endif%} {% endfor %}];

即在数组中的值之间添加逗号。

关于python - 如何将 Django 变量作为 javascript 方法参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11373013/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com