对于 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)
然后,在我的模板.html文件中,我只是尝试将地图插入 div 标签中:
<div> {{ map|safe }} </div>
而且是空白的。我需要 Iframe 吗?我应该运行一个允许传单地图的脚本源吗?既然我需要来源,我该如何设置它?我是否必须在本地将地图保存为 html 文件,因为我正在尝试部署它,以便其他人可以使用它,并且如果每次生成地图时都必须将其保存在本地,我我不确定人们是否会喜欢让他们的内存或文件变得混乱,因为这个工具会被非常频繁地使用。
我缺少显示地图的东西吗?我对其他绘图库持开放态度,但 Folium 是迄今为止我遇到过的最简单且最具互动性的。