django - Django jinja 值未正确传递到 iframe url(打开街道地图)
问题描述
我尝试了几种通过 iframe 将 openstreetmap 合并到我的 django 应用程序中的方法。我可以很好地看到地图并且可以放大或缩小,但它始终是安提瓜的地图。我想在我的 django 模板中嵌入一张小地图,并从 jinja 传入经纬度。无论我传入硬编码的 lon 和 lat 还是 jinja 都没有区别,我仍然在 openstreetmaps 中得到相同的地图。
我从 openstreetmaps wiki https://wiki.openstreetmap.org/wiki/OpenLinkMap开始使用此模板:
<iframe width="420" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openlinkmap.org/small.php?lat=<LAT>&lon=<LON>&zoom=<ZOOM>" style="border: 1px solid black"></iframe>
无论我是硬编码还是输入动态值,我都会看到安提瓜的地图。我尝试从 jinja 传入参数:
<iframe width="420" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://www.openlinkmap.org/small.php?lat={{ li.latitude }}&lon={{ li.longitude }}&zoom=10" style="border: 1px solid black"></iframe>
那没有用,所以我尝试只输入 long 和 lan,但我仍然得到 Antigua:
但以下作为 url 链接可以正常工作并传入正确的参数:
<a href="https://www.openstreetmap.org/#map=12/{{ li.latitude }}/{{ li.longitude }}" target="_blank"><b>View Larger Map</b></a>
我是 openstreetmaps、django 和 jinja 的新手,看不到我在哪里出错。
解决方案
你必须写如下:
{{ li.latitude|safe }}
推荐阅读
- angular - 角
- sql-server - “INSERT INTO 中的语法错误”ms-access vb.net
- angularjs - 使用 ionic 3 从 API 进行跨平台资源共享
- java - Lucene 提交非常慢
- asp.net - Quartz.net 相同的作业在 asp.net 中同时执行两次
- c++ - C++17:unique_ptr 之间指针存储的区别
和 shared_ptr - python - Pandas 以高效方式平衡面板(前向填充)
- ios - 有谁知道如何使用 AWSRekognition SDK 在 swift 4 中检测图像中的人脸?
- mysql - 如何一次写入多个数据?
- vertica - Vertica 备份/恢复