Folium 地图未在 Django 网页中显示

2024-04-05

对于 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 是迄今为止我遇到过的最简单且最具互动性的。


在你的代码中map is a folium.Map对象,还不是 html/javascript 的字符串。您需要先渲染它。通常,这会创建一个完整的 HTML 页面。对于 Jupyter 笔记本,此 HTML 页面被放入 iframe 中。所以有两个选择:

如果您不想或不需要将地图放入模板中,可以直接渲染页面:m.get_root().render()返回包含完整 HTML/JS 页面的字符串。

如果要将地图嵌入到模板中,可以使用 iframe:m._repr_html_()返回带有 HTML/JS 页面的 iframe 的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Folium 地图未在 Django 网页中显示 的相关文章

随机推荐

  • 通过socks的Python ssh客户端(代理)

    所以 我需要通过代理socks连接到SSH服务器 我阅读了 paramiko 和twisted conch 文档 但没有在那里找到代理袜子支持 这个套接字包装器允许您使用静态 ssh 隧道 我找到了解决我的问题的通用方法 使用帕里科SSHC
  • OCaml 在运行时编译和加载

    我正在尝试实现类似的目标eval 在 OCaml 中 我有一个string我想从中得到一个 OCaml 函数 目前我正在做以下事情 我将字符串转储到new ml并编译文件 Compile implementation Format std
  • JavaScript AJAX 远程记录器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在平台上开发 JavaScript 应用程序 该平台不支持日志输出 不允许为记录器输出打开新窗口
  • Swift 使用 UnsafePointer 从 UnsafeMutablePointer 获取值

    我正在努力通过contextInfo of typeUnsafeMutablePointer
  • 如何将异常保存在txt文件中?

    public DataTable InsertItemDetails FeedRetailPL objFeedRetPL DataTable GetListID new DataTable try SqlParameter arParams
  • 如何知道 Mongoose 的 upsert 是否创建了新文档?

    我在 node js express js 中有这段代码 var User mongoose model User var usersRouter express Router usersRouter put id function req
  • 升级AGP版本失败

    我无法更新我的项目 当我尝试这样做时 我收到了这条消息 升级助手无法升级此项目 找不到执行将 AGP 版本从 4 1 3 升级到 4 2 0 命令的方法 可能是因为该项目的构建文件使用了升级助手当前不支持的功能 例如 使用定义的常量 在 b
  • 如何在 Treeview 控件中使子节点可见 = false

    我有一个带有树视图控件的窗口窗体 该树视图有一个根节点和 2 个子节点 我的要求是我需要隐藏第一个子节点 是否有可能使特定孩子点头可见为假 是的 您可以从树节点继承并创建您自己的行为 就像这样 public class RootNode T
  • 使用 Angular 6 和 Spring Rest API 下载文件

    我在使用 Angular 6 从 Rest api 下载文件时遇到问题 后端方法 RequestMapping value print id public ResponseEntity
  • 使用python发送消息时出现错误400

    我正在尝试使用 Gmail API 发送电子邮件 我已成功通过身份验证 并且我的计算机上有一个 client secret json 文件 我已经能够使用 Gmail API 网站上的快速入门示例获取标签列表 我已成功将范围重置为 SCOP
  • 如何从蓝牙 LE 设备获取数据

    我有一台支持蓝牙 LE 的蓝牙条形码扫描仪 我试图在扫描时从中获取条形码信息 我可以正常连接onServicesDiscovered被叫到我的BluetoothGattCallback但我不知道从那里该做什么 通过经典的蓝牙连接 您将获得I
  • 使用 Redux 获取数据时如何避免竞争条件?

    我们有一个异步获取对象的操作 我们称之为getPostDetails 它需要一个参数来获取哪个帖子 一个 ID 用户会看到一个帖子列表 可以单击其中一个来获取一些详细信息 如果用户点击 Post 1 我们会发送一个GET POST动作可能看
  • 尝试连接到cleardb时出错

    再次嗨 我想连接到heroku中的cleardb实例 我从heroku配置变量中获取主机名和凭据CLEAR DATABASE URL但我收到以下错误 错误 2003 HY000 无法连接到 us cdbr east 06 cleardb n
  • 为什么我应该开始使用 Google Material Design Lite 而不是 Twitter Bootstrap 或 Foundation

    免责声明 我不想开始任何对抗谷歌粉丝 我只是问 因为我没有找到我的问题的直接答案 也许已经开始使用它的人 或任何谷歌开发人员 可以提供建议 谷歌最近宣布材料设计精简版 1 0 https developers google com web
  • (R, dplyr) 选择以相同字符串开头的多列并按组汇总平均值 (90% CI)

    我是 tidyverse 的新手 从概念上讲 我想计算以 ab 开头 按 case 分组的所有列的平均值和 90 CI 尝试了很多方法 但似乎都不起作用 我的实际数据有很多列 所以明确列出它们不是一个选择 测试数据如下 library ti
  • Keycloak 支持基本身份验证吗?

    Keycloak 是否支持基本身份验证 授权标头包含单词 Basic 单词 后跟一个空格和一个 base64 编码的字符串 username password 如果支持 我如何为其配置领域和客户端设置 我想使用 Keycloak 保护我的其
  • Android异常处理最佳实践?

    如果我的应用程序崩溃 它会挂起几秒钟 然后 Android 告诉我该应用程序崩溃并需要关闭 所以我正在考虑用一般的方法捕获我的应用程序中的所有异常 try catch Exception e 并制作一个新的Activity这解释了应用程序立
  • 如何确定日期是否是周末(不使用 lubridate)

    我有一个日期对象向量 yyyy mm dd 我想确定其中是否有周末 有没有一个函数可以直接确定这一点 我可以用wday in the 润滑封装然后判断返回值是否为01 or 07 但是还有其他更直接的吗 x lt seq Sys Date
  • 未捕获的类型错误:fs.readFileSync 不是函数

    我正在尝试获取 webpack 和地图盒 GL https github com mapbox mapbox gl js blob master webpack config example js在 Meteor 系统中协同工作 我到处都查
  • Folium 地图未在 Django 网页中显示

    对于 Django 以及一般的 Web 开发 来说非常陌生 所以提前道歉 我试图在 Django 网页中显示我的 Folium 地图 但我似乎不明白为什么我最终会得到一个空白屏幕 我在 SO 中查找了其他帖子 但他们都要求要么专门弹出窗口