当前位置: 首页 > 面试题库 >

我如何链接到不在Flask中的静态文件夹中的图像

翟京
2023-03-14
问题内容

在Flask中,如何处理不在静态文件夹中的图像?

我目前将用户上传的照片保存在flask文件夹之外的目录中(On openshift,当前保存在data文件夹中的图像,app- root/data并且flask文件位于app-root/repo/)。

在模板中,如何提供图像文件?

使用url_for,我如何引用flask文件夹外部的这些图像文件?

- data/
 |
  -- uploads/
- repo/
 |
  -- app/
    |
     -- __init__.py

如您所见,flask应用程序文件夹之外的数据文件夹。问题是如何data/uploads从flask应用程序目录生成到(一级上)存储的文件的链接?


问题答案:

您具有
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') }}

您可以在此处了解更多信息。



 类似资料:
  • 我在学烧瓶。我知道要在处为静态文件生成url,我需要执行以下操作:。我还知道我可以使用模板生成HTML,使用,它将在处返回jinja模板的HTML输出。 但是,我不确定如何在jinja模板中返回到静态文件的链接--或者我是否应该这样返回链接到静态HTML/CSS的HTML。 基本上,我如何在jinja模板中返回到用python动态生成的URL的链接?这似乎不可能。那么人们做什么呢?如果您只是在模板

  • 我正在将图像上传到一个文件夹productImages,该文件夹不在Spring启动项目的src文件夹中。我正在存储每个图像的路径。我如何使用th: src=@{product.image}显示图像,其中product.image是数据库的路径(例如productImages/photo.jpg)。我的问题是获取文件夹的位置。

  • 问题内容: 如何在Flask中使用引用文件夹中的文件?例如,我的文件夹中有一些静态文件,其中一些可能位于子文件夹中。 当我尝试从提供文件时static/bootstrap,出现错误。 我可以使用此功能来引用不在子文件夹中的文件。 引用静态文件的正确方法是什么url_for?如何使用url_for任何级别的静态文件生成URL? 问题答案: 默认情况下,你具有静态文件的端点。还应用有以下参数: :可用

  • 问题内容: 如何在Flask中使用引用文件夹中的文件?例如,我的文件夹中有一些静态文件,其中一些可能位于子文件夹中。 当我尝试从提供文件时,出现错误。 我可以使用此功能来引用不在子文件夹中的文件。 引用静态文件的正确方法是什么?如何使用任何级别的静态文件生成URL? 问题答案: 默认情况下,你具有静态文件的端点。还应用有以下参数: :可用于为网络上的静态文件指定其他路径。默认为文件夹的名称。 :包

  • 问题内容: 所以这很尴尬。我有一个应用程序,该应用程序已集成在一起,现在它只提供一个静态HTML页面,其中包含指向CSS和JS的链接。而且我找不到文档中描述返回静态文件的位置。是的,我可以使用,但是我知道数据没有模板化。我还以为或者是正确的事情,但我不能让这些工作。同时,我正在打开文件,阅读内容,并装配Response具有适当mimetype的: 有人要为此提供代码示例或网址吗?我知道这将变得简单

  • 问题内容: 有人尝试过基于静态文件夹代码片段的此片段flask配置吗? 代码: 就我而言,我抱怨这条线: 错误信息: 有谁能通过Flask中的config.py文件设置static_folder? 问题答案: 对该片段一无所知,但是 永远不是有效的Python(Python没有l值)。看起来好像有一个类似dict的界面,所以令人反感的行应该只是 在setter上方的getter定义中可能存在复制和