无法在Flask模板中显示来自STATIC_FOLDER的图像
我像这样设置静态文件的文件夹
app.config['STATIC_FOLDER'] = 'tmp'
在模板中,我使用img标签显示存储在/ tmp中的图像:
<img src='IKE2low.jpg' width="200" height="85">
在firebug中,我看到404错误而不是图像。请告诉我我做错了什么?
提前致谢。
回答:
我不确定STATIC_FOLDER
你正在使用什么配置项目。你在哪里找到它?
实际上,Flask
类构造函数有两个参数来控制静态文件的配置:
:默认为“静态”。这是你必须在URL中使用的前缀才能访问静态文件。
:这是静态文件夹的磁盘位置。默认情况下,此值与static_folder设置相同。
例如,如果使用此配置:
from flask import Flaskapp = Flask(__name__, static_url_path = "/tmp", static_folder = "tmp")
然后,你可以按以下方式访问图像:
<img src='/tmp/IKE2low.jpg' width="200" height="85">
你还可以删除URL中带有前缀的需要,如下所示:
from flask import Flaskapp = 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">
无论静态文件的位置和配置方式如何,此最后一个表达式都将起作用。
以上是 无法在Flask模板中显示来自STATIC_FOLDER的图像 的全部内容, 来源链接: utcz.com/qa/429921.html