我为这样的静态文件设置了文件夹
app.config['STATIC_FOLDER'] = 'tmp'
Run Code Online (Sandbox Code Playgroud)
在模板中我使用img标签来显示存储在/ tmp中的图像:
<img src='IKE2low.jpg' width="200" height="85">
Run Code Online (Sandbox Code Playgroud)
在firebug中我看到404错误而不是图像.请告诉我,我做错了什么?
提前致谢.
Mig*_*uel 34
我不确定STATIC_FOLDER
您使用的配置项是什么.你在哪里找到它?
实际上有两个Flask
用于控制静态文件配置的类构造函数的参数:
static_folder:默认为"static".这是您必须在URL中用于访问静态文件的前缀.
static_url_path:这是静态文件夹的磁盘位置.默认情况下,此值与static_folder设置相同.
例如,如果您使用此配置:
from flask import Flask
app = Flask(__name__, static_url_path = "/tmp", static_folder = "tmp")
Run Code Online (Sandbox Code Playgroud)
然后您可以按如下方式访问图像:
<img src='/tmp/IKE2low.jpg' width="200" height="85">
Run Code Online (Sandbox Code Playgroud)
您还可以删除URL中具有前缀的需要,如下所示:
from flask import Flask
app = Flask(__name__, static_url_path = "", static_folder = "tmp")
Run Code Online (Sandbox Code Playgroud)
然后您可以访问您的图像:
<img src='/IKE2low.jpg' width="200" height="85">
Run Code Online (Sandbox Code Playgroud)
请注意,您仍需要拥有root /
.
但是,执行此操作的最佳方法是不显式引用图像路径,而是使用url_for
生成正确的URL.如果您使用的是Jinja2模板:
<img src="{{ url_for('static', filename = 'IKE2low.jpg') }}" width="200" height="85">
Run Code Online (Sandbox Code Playgroud)
无论静态文件的配置位置和方式如何,最后一个表达式都可以工作.
归档时间: |
|
查看次数: |
27890 次 |
最近记录: |