在烧瓶中,如何提供不在静态文件夹中的图像?
我目前将用户上传的照片保存在flask文件夹之外的目录上(On openshift
,当前保存在app-root/data
下的数据文件夹中的图像,并且文件夹位于app-root/repo/
})。
在我的模板中,我如何提供图像文件?
使用url_for
,如何引用在flask文件夹之外的这些图像文件?
- data/
|
-- uploads/
- repo/
|
-- app/
|
-- __init__.py
正如您可以在flask app文件夹外看到数据文件夹。如何从flask app目录生成存储在data/uploads
(一级)中的文件的链接是个问题?
答案 0 :(得分:15)
你有 send_from_directory 功能可以做你想做的事情,我会做的是声明一个名为 MEDIA_FOLDER 的常量,其中包含媒体文件的路径找到然后,你唯一需要做的就是调用这个函数:
from config import MEDIA_FOLDER
@app.route('/uploads/<path:filename>')
def download_file(filename):
return send_from_directory(MEDIA_FOLDER, filename, as_attachment=True)
然后,要调用它,您只需执行此操作:
{{ url_for('download_file', filename='dogs.jpg') }}
您可以获得有关此here的更多信息。