求助 flask 关于静态图片访问问题

2018-04-03 11:49:49 +08:00
 vipppppp
讨厌做伸手党,无奈查阅了很多资料,源码也找不到,作为一名新手,来这儿求助。

我们的项目是前后端分离的,在图片返回时,我返回了一个图片的完整 url,如‘ http://127.0.0.1:8888/image/1.jpg ’
然后我自己写了个接口,也能够成功访问。这个我已经成功实现了!

困惑我的是,flask 已经默认注册了一个路由
<Rule '/static/<filename>' (HEAD, OPTIONS, GET) -> static>
我的想法是,如果这个默认路由可用,那么我也不用自己去写一个接口

但如果我直接访问: http://127.0.0.1:8888/static/1.jpg
在 static 目录下也放置了 1.jpg 这张图片,访问得到的是 404,这我就不是很明白了~~

望大神能解答一下,或者提供一点资料,万分感谢
4379 次点击
所在节点    Python
12 条回复
lioncui
2018-04-03 12:13:30 +08:00
检查一下 static 目录的位置,默认是在工程的根目录
vipppppp
2018-04-03 12:56:09 +08:00
@lioncui
你的项目可以直接这样访问吗?
就是随便新建一个 html,然后写一句<img src="http://127.0.0.1:8888/static/1.jpg">,而不是在 template 渲染
我觉得不是工程的问题,我新建了工程也不能这样访问。。
rogwan
2018-04-03 16:57:57 +08:00
看描述,貌似是你路径写的不对,试试 app/static/image/1.jpg 这样的路径
TICE
2018-04-03 22:47:07 +08:00
Nging 之类的服务器,有进行配置静态文件夹路径吗?
TICE
2018-04-03 22:49:12 +08:00
location ^~ /static/ {
root /home/user_name/porject/app; # 静态文件根目录,根据项目情况更改
vipppppp
2018-04-04 10:27:30 +08:00
谢谢各位了,已经自己解决了~~
hongshaoyuancn
2018-10-09 13:53:36 +08:00
想知道楼主本地 static 访问图片是怎么解决的
vipppppp
2018-10-09 14:37:30 +08:00
@hongshaoyuancn
你使用的是 flask 自带的测试服务器吗
没用 Nginx 做静态文件代理?
hongshaoyuancn
2018-10-09 17:02:20 +08:00
@vipppppp 哈 好了 我是本地的 static 路径也错了 哈 ~~~~
Cyclen
2020-04-02 00:55:43 +08:00
1111111111 楼主还在吗我也遇到了一样的问题
Cyclen
2020-04-02 01:05:13 +08:00
@hongshaoyuancn 你好我也出问题了但是我没解决 可以请教一下吗
vipppppp
2020-04-02 09:11:54 +08:00
@Cyclen 这个问题太久了,现在也没用 flask
如果没记错的话应该是文件路径问题,
尤其是这句
我的目录结构是
- apps
__init__.py
- static
我的 Flask 是在__init__文件下初始化的,要写成这样
app = Flask(__name__, template_folder="../templates", static_folder="../static")

意思就是你的 static 文件夹和你的 Flask 对象初始化的 static_folder,要对应

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/443859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX