django - 根据 django 标签动态更改的特定传单图层样式
问题描述
我的 html 代码的药水做风格
<script type="text/javascript">
function our_Layers (map, options){
var datasets = new L.GeoJSON.AJAX("{% url 'owner' %}",{
style: function colors(feature){
switch(feature.properties.lr){
case "{{LR}}":
return{
color: 'red'
};
break
}
},
onEachFeature: function(feature, layer){
//layer.bindPopup(feature.properties.lr.toString());
layer.bindPopup('<strong>LR No.: </strong>'+ feature.properties.lr.toString()
);
}
});
datasets.addTo(map);
}
</script>
{% leaflet_map "parcels" callback="window.our_Layers" %}
我在 Django 中的看法
def Usermap(request):
plots1 = request.user.person.Persona.all()
for Registration in plots1:
LR=(Registration.parcels.lr)
context = {'plots':plots1,'LR':LR}
return render(request, 'Cadastre/Usermap.html', context)
已经在 django 中使用了那个 for 循环来向我展示可用的 lr,它们是 3,但我不能在传单函数中使用 django for 循环标签任何帮助
解决方案
我找到了解决它的方法..首先我在 django 视图中执行一个 for 循环并将我的结果附加到一个列表中。例子
def Usermap(request):
plots1 = request.user.person.Persona.all()
LR =[]
for Registration in plots1:
LR.append(Registration.parcels.lr)
context = {'plots':plots1,'LR':LR}
return render(request, 'Cadastre/Usermap.html', context)
然后在 html 中执行另一个循环来访问列表项并使用它来动态设置我的地图样式。例子
<script type="text/javascript">
datasets = new L.GeoJSON.AJAX("{% url 'Plots' %}",{
style: function colors(feature){
var LRS = {{LR|safe}};
var x;
for (x of LRS){
switch(feature.properties.lr){
case x:
return{
color: 'red'
};
break
}
}
},
onEachFeature: onEachFeature
}).addTo(map);
</script>
我希望这对有同样问题的人有所帮助,因为没有其他答案谢谢。
推荐阅读
- python - Anaconda:你能简单地复制一个安装/环境文件夹吗?
- javascript - 根据 reactjs 中的参数更改状态
- excel - 从 ListBox 范围多选 VBA 中删除行,仅删除最后一行
- flutter - Flutter 应用的默认字体系列是什么?
- systemd - 如何在 systemd 的看门狗停止服务之前运行特定程序
- python - 在数据帧字典上生成平均值
- qt - 像素图 PNG 无法读取
- sql - SQL Server 中嵌套循环的更好方法
- postgresql - 在同一台服务器中转储和恢复,但在 postgresql 中的另一个数据库
- python - 如何使条目小部件具有可供选择的整数列表