【问题标题】:Flask can't find local static files even though they exist and the specified path is correctFlask 找不到本地静态文件,即使它们存在并且指定路径正确
【发布时间】:2021-10-08 03:59:00
【问题描述】:

我将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);

问题是,当我运行烧瓶应用程序时,我在终端中收到以下 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 文件,因此没有运行更新的代码。

【问题讨论】:

  • css 在哪里?似乎路径不正确.../static/images/main-banner.jpg 根据您的文件结构将不存在。也许你必须为你的 Flask 项目指定一个不同的基础镜像路径。
  • CSS 位于:static --> assets --> css --> mycssfile.css /static/images/main-banner 路径不正确,但我不知道在哪里路径被指定,因为我试图调用 /static/assets/images 路径来获取横幅图像
  • 你可以试试background-image: url(../images/main-banner.jpg); 吗?

标签: python html css flask web


【解决方案1】:

也许这会起作用

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

【讨论】:

    猜你喜欢
    • 2020-04-13
    • 1970-01-01
    • 2020-12-15
    • 2018-06-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2016-05-31
    相关资源
    最近更新 更多