gpt4 book ai didi

python - 使用 url_for 链接到 Flask 静态文件

转载 作者:IT老高 更新时间:2023-10-28 21:33:08 27 4
gpt4 key购买 nike

如何在 Flask 中使用 url_for 来引用文件夹中的文件?比如我在static文件夹中有一些静态文件,其中一些可能在static/bootstrap等子文件夹中。

当我尝试从 static/bootstrap 提供文件时,出现错误。

 <link rel=stylesheet type=text/css href="{{ url_for('static/bootstrap', filename='bootstrap.min.css') }}">

我可以使用它来引用不在子文件夹中的文件,这很有效。

 <link rel=stylesheet type=text/css href="{{ url_for('static', filename='bootstrap.min.css') }}">

url_for 引用静态文件的正确方法是什么?如何使用 url_for 生成任意级别的静态文件的 url?

最佳答案

默认情况下您拥有 static endpoint对于静态文件。还有Flask应用程序有以下参数:

static_url_path:可用于为网络上的静态文件指定不同的路径。默认为 static_folder 文件夹的名称。

static_folder:包含应在 static_url_path 处提供的静态文件的文件夹。默认为应用程序根路径中的“静态”文件夹。

这意味着 filename 参数将采用 static_folder 中文件的相对路径并将其转换为结合 static_url_default 的相对路径:

url_for('static', filename='path/to/file')

会将文件路径从static_folder/path/to/file转换为url路径static_url_default/path/to/file

因此,如果您想从 static/bootstrap 文件夹中获取文件,请使用以下代码:

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='bootstrap/bootstrap.min.css') }}">

将转换为(使用默认设置):

<link rel="stylesheet" type="text/css" href="static/bootstrap/bootstrap.min.css">

另请查看 url_for documentation .

关于python - 使用 url_for 链接到 Flask 静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com