首页 > 解决方案 > 运行 HTML 文件将无法识别通过 url_for 链接的静态文件

问题描述

出于某种奇怪的原因,当我运行我的 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 重新加载,但它仍然无法正常工作。

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

标签: pythonhtmlcssflaskjinja2

解决方案


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

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

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


推荐阅读