如何用FastAPI渲染Folium地图?渲染失败问题求助
解决FastAPI渲染Folium地图的问题
你的代码无法正常工作的核心原因是:FastAPI默认会将返回值序列化为JSON格式,而m.get_root().render()返回的是HTML字符串,直接返回会被转义,无法被浏览器正确解析为网页。而Flask可以直接返回字符串作为HTML响应,这是两者的差异点。
修复后的代码
from fastapi import FastAPI, HTMLResponse from folium import Map app = FastAPI() @app.get("/", response_class=HTMLResponse) async def root(): m = Map() return m.get_root().render()
关键修改说明
- 导入
HTMLResponse,明确告诉FastAPI当前路由返回的是HTML内容 - 在路由装饰器中添加
response_class=HTMLResponse,指定响应类型
运行代码后,用uvicorn启动服务(比如uvicorn main:app --reload),访问http://localhost:8000就能正常看到Folium地图了。
内容的提问来源于stack exchange,提问作者Bijesh Mohan
相关产品推荐
相关产品推荐

