我为这样的静态文件设置文件夹
app.config['STATIC_FOLDER'] = 'tmp'
在模板中,我使用 img 标签来显示存储在 /tmp 中的图像:
<img src='IKE2low.jpg' width="200" height="85">
在萤火虫中,我看到 404 错误而不是图像。请告诉我我做错了什么?
提前致谢。
我不确定STATIC_FOLDER
您使用的是什么配置项。你在哪里找到它?
Flask
类构造函数实际上有两个参数来控制静态文件的配置:
static_folder:默认为“静态”。这是您必须在 URL 中使用以访问静态文件的前缀。
static_url_path:这是静态文件夹的磁盘位置。默认情况下,此值与 static_folder 设置相同。
例如,如果您使用此配置:
from flask import Flask
app = Flask(__name__, static_url_path = "/tmp", static_folder = "tmp")
然后您可以按如下方式访问您的图像:
<img src='/tmp/IKE2low.jpg' width="200" height="85">
您还可以取消在 URL 中添加前缀的需要,如下所示:
from flask import Flask
app = Flask(__name__, static_url_path = "", static_folder = "tmp")
然后您可以通过以下方式访问您的图像:
<img src='/IKE2low.jpg' width="200" height="85">
请注意,您仍然需要有一个 root /
。
但最好的方法是不显式引用图像路径,而是使用url_for
生成正确的 URL。如果您使用的是 Jinja2 模板,则为:
<img src="{{ url_for('static', filename = 'IKE2low.jpg') }}" width="200" height="85">
无论静态文件的配置位置和方式如何,最后一个表达式都将起作用。