@s1vemod

Как подгрузить Flask static на хостинге?

Добрый день. Ставлю Flask на хостинг и столкнулся с проблемой.
Проект написан на React + Flask.

На локальном сервере всё хорошо:
app = Flask(__name__, static_url_path='', static_folder='templates/static')


Но когда ставлю на хостинг (wsgi.py, .htaccess), index.html рендерится, а остальной css/js не хочет.

Подскажите в чём может быть проблема?
Структура примерно такая:

app.py
templates
∟ static
---∟ css
∟ index.html


Так же html, который отображается на страничке:
You need to enable JavaScript to run this app.
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
gedev
@gedev
сисадмин-энтузиаст
Я думаю дело в том, что URL ваших CSS/JS файлов, который указан в index.html имеет следующий вид: http://example.org/static/css/style.css. Но на сервере настоящий путь к файлу будет таким: http://example.org/templates/static/css/style.css. Разумеется вы получаете 404 ошибку на них и у вас отображается голый HTML.

Сделайте символическую ссылку static, которая указывает на templates/static в DocumentRoot (корневой папке сайта).

Или, если Apache у вас обрабатывает статику, то поможет такое правило в .htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^static/(.*)$ templates/static/$1 [QSA,L]
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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