Bottle框架无法显示本地图片求助:新手遭遇404错误
解决Bottle框架展示图片出现404的问题
嘿,别着急,这个问题其实是Bottle框架的一个常见小坑——它默认不会自动帮你托管静态文件(比如图片、CSS这些),所以你直接访问图片路径才会出现404报错。我给你两个简单的解决办法,你选一个适合你的就行:
办法一:直接给当前目录的静态文件加路由
在你的testBottle.py里添加一段专门处理静态文件的路由代码,放在其他路由定义的前后都可以:
# 处理静态文件请求 @bottle.route('/<filename:path>') def send_static(filename): # root参数指定静态文件所在的目录,这里图片和脚本在同一目录,所以用'./' return bottle.static_file(filename, root='./')
之后你HTML里的img标签就可以直接用 <img src="/test.jpg" alt="测试图片"> 来引用,这样访问时Bottle就能正确找到同目录下的test.jpg了。
办法二:用专门的静态文件目录(更规范)
如果你的项目后续会添加更多静态文件(比如CSS、JS),建议创建一个专门的static文件夹来存放,修改后的项目结构变成:
--testBottle.py
--static/
--test.jpg
然后在testBottle.py里添加对应的路由:
# 处理static文件夹下的静态文件 @bottle.route('/static/<filename:path>') def send_static(filename): return bottle.static_file(filename, root='./static/')
这时候HTML里的img标签要改成 <img src="/static/test.jpg" alt="测试图片">,这样项目结构更清晰,也方便后续维护。
最后检查两个关键点
- 确保你的
testBottle.py最后有启动Bottle的代码,比如:
打开if __name__ == '__main__': bottle.run(host='localhost', port=8081, debug=True)debug=True还能帮你看到更详细的错误信息,方便排查问题。 - 确认img标签的
src路径和你定义的路由完全匹配,别打错字哦~
内容的提问来源于stack exchange,提问作者user9270170
相关产品推荐
相关产品推荐

