小能豆

应用程序未拾取.css 文件(flask/python)

py

我正在渲染一个模板,并尝试使用外部样式表来设置其样式。文件结构如下。

/app
    - app_runner.py
    /services
        - app.py 
    /templates
        - mainpage.html
    /styles
        - mainpage.css

mainpage.html 看起来像这样

<html>
    <head>
        <link rel= "stylesheet" type= "text/css" href= "../styles/mainpage.css">
    </head>
    <body>
        <!-- content --> 

但是我的样式都没有应用。这是否与 html 是我正在渲染的模板有关?python 看起来像这样。

return render_template("mainpage.html", variables..)

我知道这些都行得通,因为我仍然能够渲染模板。但是,当我尝试将样式代码从 html 的“head”标签内的“style”块移动到外部文件时,所有样式都消失了,只剩下一个空的 html 页面。有人看到我的文件结构有错误吗?


阅读 30

收藏
2024-09-29

共1个答案

小能豆

您需要设置一个“静态”文件夹(用于 css/js 文件),除非您在 Flask 初始化期间专门覆盖它。我假设您没有覆盖它。

你的 css 目录结构应该是这样的:

/app
    - app_runner.py
    /services
        - app.py 
    /templates
        - mainpage.html
    /static
        /styles
            - mainpage.css

请注意,你的 /styles 目录应该位于 /static 下

然后,这样做

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

Flask 现在将在 static/styles/mainpage.css 下查找 css 文件

2024-09-29