在Django中将maptile作为上下文直接传递到传单地图tilelayer中的困难

在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">&copy; M

我有一个网页,有一个嵌入式传单地图。我已经设法创建了一个下拉列表,供用户从Maptiler.com选择不同的maptile类型。这在将maptile地址作为上下文从视图中传递时效果良好,该视图随后在我的模板中指定如下:-

L.tileLayer('{{ context.maptileaddress }}', {attribution: '<a href="https://www.maptiler.com/copyright/" target="_blank">&copy; MapTiler</a> <a href="https://www.openstreetmap.org/copyright" target="_blank">&copy; 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> &mdash; Map data &copy; <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有一个或多个不安全的字符,我需要指示模板按原样传递字符串

文档中对此进行了很好的解释:-

我希望这会对将来的人有所帮助

菲尔