Задать вопрос
@PythonLady

Почему файл css не может найти картинку (flask)?

У меня получилась такая структура проекта:
main.py
templates/index.html
static/style/style.css
______/img/bg.jpg

Код main.py:
from flask import Flask, render_template

app = Flask(__name__)


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


app.run(debug=True)

Код index.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href='../static/style/style.css' />
</head>
<body>

</body>
</html>

Код style.css:
body {
	background-image: url(../img/bg.jpg) repeat;

}


index.html файл со стилями находит, но вот style.css картинку уже не видит. Помогите, пожалуйста!
  • Вопрос задан
  • 857 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ответы на вопрос 3
@damilurg
Нужно верно задать адрес к картинке, он ищет картинку в папке style, а не в корне проекта.
../../../ поможет
Ответ написан
Danya_Violet
@Danya_Violet
CTO/CIO
<link rel="icon" type="image/png" href="/static/images/icons/favicon.ico"/>


так у меня папка img тоже лежит в style

тогда просто

body {
  background-image: url(/img/bg.jpg) repeat;
}
Ответ написан
Комментировать
skipirich
@skipirich
проходил мимо
Такой способ создания url - '../static/style/style.css' для flask не совсем корректен по хорошему он должен быть вот таким
<link rel="stylesheet" href="{{ url_for('static', filename='style/style.css') }}" />

Ну а раз уж img в папке style, то наверное вот так background-image: url(./img/bg.jpg) repeat;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы