在Django中将maptile作为上下文直接传递到传单地图tilelayer中的困难
我有一个网页,有一个嵌入式传单地图。我已经设法创建了一个下拉列表,供用户从Maptiler.com选择不同的maptile类型。这在将maptile地址作为上下文从视图中传递时效果良好,该视图随后在我的模板中指定如下:-在Django中将maptile作为上下文直接传递到传单地图tilelayer中的困难,django,django-templates,leaflet,maptiler,Django,Django Templates,Leaflet,Maptiler,我有一个网页,有一个嵌入式传单地图。我已经设法创建了一个下拉列表,供用户从Maptiler.com选择不同的maptile类型。这在将maptile地址作为上下文从视图中传递时效果良好,该视图随后在我的模板中指定如下:- L.tileLayer('{{ context.maptileaddress }}', {attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© M
L.tileLayer('{{ context.maptileaddress }}', {attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">© MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">© OpenStreetMap contributors</a>',}).addTo(map);
L.tileLayer('{{ context.maptilefullkey }}).addTo(map);
其中有效的“MapTileFullerKey”是:-
'https://stamen-tiles-{s}.a.ssl.fastly.net/toner/{z}/{x}/{y}.{ext}', {
attribution: 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, <a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
subdomains: 'abcd',
minZoom: 1,
maxZoom: 18,
ext: 'png'
}
当我将此文本逐字嵌入tileLayer方法时,maptile显示得很好-请参见我的打印
你也可以看到我已经成功通过了考试
{{context.maptilevelkey}}到模板,并且它已成功打印到网页底部。它显然与有效密钥完全匹配
但当我将其作为变量L.tileLayer{{{context.maptilevelkey}}.addTomap;,传递时;,贴图块完全消失
为什么会发生这种情况?我该如何修复它
字符串以花括号结尾,然后在关闭上下文的双花括号之前,这是否会造成问题?
或者是归因造成了问题
非常感谢这个社区的帮助
菲尔·阿诺比内德我终于解决了这个问题。这是我的一部分,我对这件事还很陌生 我需要将标签安全添加到从中提取fullkey的位置:-
L.tileLayer({{ context.maptilefullkey | safe }}).addTo(map);
它以前只在传递tileaddress时起作用,但很明显fullkey有一个或多个不安全的字符,我需要指示模板按原样传递字符串
文档中对此进行了很好的解释:-
我希望这会对将来的人有所帮助
菲尔