【问题标题】:Running HTML file won't recognize static files linked through url_for运行 HTML 文件将无法识别通过 url_for 链接的静态文件
【发布时间】:2020-07-13 07:03:40
【问题描述】:

由于某种奇怪的原因,当我运行我的 HTML 文件时,我的 CSS 文件没有链接。我正在创建一个 Flask 应用程序并使用 url_for() 将我的静态文件链接到我的 HTML 文件。

我的 CSS 文件位于根目录中名为“css”的文件夹中,该文件名为“style.css”

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

作为一项附加措施,我还继续将app.static_folder = 'static' 添加到我的 main.py 中,清除了我的缓存,尝试使用 CMD + Shift + R 重新加载,但它仍然无法正常工作。

我还使用url_for() 链接了我所有的 JS 文件和图像,当我在浏览器中运行文件时,除了基本的 HTML 内容之外什么都没有显示。有小费吗?谢谢

【问题讨论】:

标签: python html css flask jinja2


【解决方案1】:

尝试为您的项目创建以下结构:

.
├── app.py
├── static
│   ├── css
│       ├── style.css
│       └── more.css
│   └── js
├── templates
│   ├── base.html
│   └── index.html

我认为问题在于,当您将文件存储在根目录中时,flask 无法找到您的情况下的文件。命名约定和目录结构在这里很重要。 Flask 会自动在 templates 文件夹中查找模板,在 static 文件夹中查找静态文件。

【讨论】:

  • 感谢您的回复。实际上,我的静态目录中的图像文件夹也与您描述的结构完全相同!超级困惑为什么它不起作用
猜你喜欢
  • 2013-04-27
  • 1970-01-01
  • 2012-06-01
  • 2014-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-29
相关资源
最近更新 更多