@assadasd93

Почему не подключается css и js?

Пишу сайт с помощью flask_socketio. Но по какой-то причине не подключается css и js, хотя все указано верно. Когда запускаю просто html, то все подгружается. Для рендеринга шаблона использую следующее:
@app.route('/')
def index():
    return render_template('index.html', async_mode=socketio.async_mode)

В чем может быть причина?
  • Вопрос задан
  • 1542 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Flask
Седой и строгий
Статика должна лежать в каталоге static, когда раздаётся Flask'ом:
├───static
│   ├───css
│   │       style.css
│   │
│   └───js
│           script.js
│
├───templates
│       hello.html
│
│   app.py

И соответственно, ссылки должны содержать имя каталога static:
<script src="/static/js/script.js"></script>

А ещё лучше использовать специальный тег
<script src="{{ url_for('static', filename='js/script.js') }}"></script>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Astrohas
@Astrohas
Python/Django Developer
вам нужно как-то раздавать статику. Юзайте nginx или что-то другое для этого. А пока можете вручную создать обработчики для директорий по типу
from flask import Flask

# set the project root directory as the static folder, you can set others.
app = Flask(__name__, static_url_path='path/to/staic/')

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

*****
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы