【问题标题】:Flask is not finding folders and files in PythonFlask 在 Python 中找不到文件夹和文件
【发布时间】:2020-05-09 09:57:50
【问题描述】:

我的文件结构如下

> code.py

> templates

....> css

....> index.html

我的烧瓶代码是

from flask import Flask, url_for
from flask import render_template

app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

if __name__ == "__main__":
    app.run()

我的 HTML 代码是

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Title</title>
    <link rel="stylesheet" href="/css/style.css">
</head>
<body>
    <header>
        <img class="resize" src="./pictures/apptek_logo.png" alt="apptek_logo">
        <nav>
            <ul class="nav-links">
                <li class="active"><a href="./index.html">Home</a></li>
                <li><a href="./contact.html">Contact</a></li>
            </ul>
            <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
            <script type="text/javascript">
                $(document).on('click', 'ul li', function(){
                    $(this).addClass('active').siblings().removeClass('active')
                })
            </script>
        </nav>
    </header>
</body>
</html>

由于某种原因,它根本没有加载 CSS 文件和任何其他 html 文件。我必须在 Flask 中做些什么吗?

【问题讨论】:

    标签: python python-3.x flask


    【解决方案1】:

    Flask 会自动在您的项目根目录中查找 CSS、JS 和其他静态文件:

    /static
    

    Flask 文档here 中的更多详细信息。

    最好将静态文件分成子目录,如下所示:

    /static/css
    /static/js
    

    在您的示例中,将您的 CSS 放在路径中:

    /static/css/style.css
    

    然后在你的 HTML 中引用:

    <link rel="stylesheet" href="/static/css/style.css">
    

    如果您使用的是 Jinja2 模板,则可以按照文档中的说明进行操作:

    {{ url_for('static', filename='style.css') }}
    

    【讨论】:

    • 感谢您的评论!那我应该把我的 html 文件放在哪里呢?
    • 因为当我将我的 html 文件放在模板下时,index.html 可以工作,但其他文件没有被访问
    • 您的 HTML 模板应该位于应用程序的根级别,即与静态相同。所以你应该有一个放置它们的 /templates 目录。
    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多