Как правильно создать отдельный CSS-файл для каждого HTML-шаблона в проекте Flask? - PullRequest
0 голосов
/ 02 ноября 2019

Я запустил проект Flask и, чтобы оставаться организованным, я хотел бы иметь CSS-файл для каждого HTML-файла. Многие онлайн-учебники содержат один файл CSS в файле /static/styles.css. Когда я запускаю следующий код, css, кажется, не используется, и терминал соединения с колбой выдает: 127.0.0.1 - - [01/Nov/2019 20:49:30] "GET /%7B%7B%20url_for('static',%20filename='css/index.css')%20%7D%7D HTTP/1.1" 404 -, но он загружает страницу, просто нет css. Существует ли стандартный способ иметь несколько CSS-файлов в статическом каталоге.

Моя структура проекта:

Dockerfile
docker-compose.yml
venv
app
 -> main.py
 -> templates
    -> index.html
 -> static
    -> css
       -> index.css

Мой файл main.py:

from flask import Flask, render_template

app = Flask(__name__)
app.config.from_object(__name__)


# Set-up Flask routes.
@app.route('/')
def index():
    return render_template('index.html')

Мой файл index.html:

 <!DOCTYPE html>
<html lang="en">

{% block head %}
<head>
  <meta charset="utf-8"/>
  <title></title>
  <link rel="stylesheet" type="test/css"  href="{{ url_for('static', filename='css/index.css') }}"/>
</head>
{% endblock %}

<body>
  <header>
    <div class="container">
      <strong><nav>
       <ui class="menu">
         <li><a href="{{ url_for('index') }}">Home</a></li>
         <li><a href="{{ url_for('about') }}">About</a></li>
       </ul>
      </nav></strong>
  </header>

Мой файл index.css:

.menu li {
    display: 'inline-block";
    border: 2px solid green;
}
...