我将 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 文件,因此没有运行更新的代码。
也许这会起作用
background-image: src="{{ url_for('static', filename='filename') }}"
有时在 Flask 中你应该提到模板文件夹和静态文件夹的路径,例如
Import flask
app =flask(__name__,template_folder="templates",
static_folder='static')
这可以解决这个问题。