【发布时间】:2019-01-28 23:20:33
【问题描述】:
对 Django 非常陌生(以及一般的 Web 开发),所以提前道歉。
我正在尝试在 Django 网页中显示我的 Folium 地图,但我似乎无法弄清楚为什么最终会出现空白屏幕。我在 SO 中查找了其他帖子,但他们都要求专门提供弹出窗口或在 Jupyter 中显示。
views.py
from django.shortcuts import render, redirect, render_to_response
from django.http import HttpResponse
from django.template.loader import get_template
from django.template.context import RequestContext
import pandas as pd
import folium
def folium_map(request):
coords = [(40.7831, -73.9712), (40.6782, -73.9412), (40.7282, -73.7949)]
map = folium.Map(location=[40.7118, -74.0131], zoom_start=12)
for coord in coords:
folium.Marker(location=[coord[0], coord[1]]).add_to(map)
context = {'map': map}
return render(request, 'template.html', context)
然后,在我的 template.html 文件中,我只是尝试将地图插入到 div 标签中:
<div> {{ map|safe }} </div>
它是空白的。我需要 iframe 吗?我应该运行允许传单地图的脚本源吗?既然我需要一个来源,我该如何设置它?我是否必须在本地将地图另存为 html 文件,因为我正在尝试将其部署以便其他人可以使用它,如果是每次生成地图时都必须在本地保存的情况,我'不确定人们是否会喜欢把他们的内存或文件弄得乱七八糟,因为这个工具会被非常频繁地使用。
我是否缺少显示地图的内容?我对其他映射库持开放态度,但 Folium 是迄今为止我遇到的最简单和最具互动性的。
【问题讨论】:
-
在重复问题中查看我的代码示例:stackoverflow.com/a/58768205/5804947