Flask не находит папки и файлы в Python - PullRequest
0 голосов
/ 09 мая 2020

Структура моих файлов следующая

> code.py

> templates

....> css

....> index.html

а мой flask код -

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 Мне нужно сделать?

1 Ответ

1 голос
/ 09 мая 2020

Flask автоматически ищет CSS, JS и другие stati c файлы в вашем проекте root, в каталоге:

/static

Подробнее см. Flask docs здесь .

Хорошей практикой является разделение файлов stati c на подкаталоги, например:

/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') }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...