Flask 找不到本地静态文件,即使它们存在并且指定的路径是正确的

问题描述 投票:0回答:2

我将 render_template 与 Flask 结合使用来渲染 html 文件 index.html,该文件又引用 CSS 样式表“templatemo-style.css”。在该 css 文件中,引用了其他本地文件,例如图像等。

文件夹结构如下所示:

/PARENT FOLDER
   /templates
      /index.html
   /static
      /assets
         /images
            /various files

在“assets”文件夹中,有一个名为“css”的子文件夹,其中包含 css 文件。

css 文件调用以下 url 以获取网站的横幅图像:

background-image: url(../assets/images/main-banner.jpg);

问题是,当我运行 Flask 应用程序时,我的终端中出现以下 404 错误:

127.0.0.1 - - [02/Aug/2021 13:13:51] "GET /static/images/main-banner.jpg HTTP/1.1" 404 -

由于某种原因,应用程序没有调用我在代码中指定的路径。我已经在各种不同文件中的代码中搜索了这个神秘调用的位置,但我在任何地方都找不到它。即使我注释掉上面的“背景图像:”行,我仍然遇到相同的错误。我应该注意到,对于前端,我使用的是我在网上找到的 css/bootstrap 模板,然后根据我的喜好进行修改。我也搜索了 js 代码,但那里也没有进行该调用。

我完全被难住了,不知道这个神秘的电话是从哪里来的。有人有任何可能的想法吗?谢谢

编辑:弄清楚了。这是因为我的浏览器正在缓存我的 css 文件,因此没有运行更新的代码。

python html css flask web
2个回答
0
投票

也许这会起作用

background-image: src="{{ url_for('static', filename='filename') }}"

0
投票

有时在 Flask 中你应该提到模板文件夹和静态文件夹的路径,例如

Import flask
app =flask(__name__,template_folder="templates",
static_folder='static')

这可以解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.