Я визуализирую шаблон, который пытаюсь стилизовать с помощью внешней таблицы стилей. Файловая структура выглядит следующим образом.
/app
- app_runner.py
/services
- app.py
/templates
- mainpage.html
/styles
- mainpage.css
mainpage.html выглядит так
<html>
<head>
<link rel= "stylesheet" type= "text/css" href= "../styles/mainpage.css">
</head>
<body>
<!-- content -->
Однако ни один из моих стилей не применяется. Связано ли это с тем, что HTML - это шаблон, который я визуализирую? Питон выглядит так.
return render_template("mainpage.html", variables..)
Я знаю, что это работает, потому что я все еще могу визуализировать шаблон. Однако, когда я попытался переместить свой код стиля из блока style внутри тега head html во внешний файл, все стили исчезли, оставив пустую страницу html. Кто-нибудь видит какие-либо ошибки в моей файловой структуре?
<script src="{{ url_for('static',filename='javascriptFileName.js') }}"> </script>
В шаблонах jinja2 (которые использует флакон) используйте
Однако
static
файлы обычно находятся вstatic
папке, если не указано иное.источник
Я прочитал несколько тем, и ни один из них не устранил проблему, которую описывают люди, и я тоже столкнулся с ней.
Я даже попытался отойти от conda и использовать pip, чтобы перейти на python 3.7, я перепробовал все предложенные коды, и ни один из них не исправлен.
И вот почему (проблема):
по умолчанию python / flask выполняет поиск статического и шаблона в структуре папок, например:
вы можете проверить самостоятельно, используя отладчик Pycharm (или что-то еще), и проверить значения в приложении (app = Flask ( name )) и найти teamplate_folder и static_folder
чтобы исправить это, вы должны указать значения при создании приложения примерно так:
путь TEMPLATE_DIR и STATIC_DIR зависит от того, где находится файловое приложение. в моем случае, смотрите картинку, она находилась в папке в src.
вы можете изменить шаблон и статические папки по своему усмотрению и зарегистрироваться в app = Flask ...
По правде говоря, я начал испытывать проблему, когда возился с папкой, и иногда работал, иногда нет. это решает проблему раз и навсегда
код html выглядит так:
Это код
Здесь структура папок
источник
По-прежнему возникают проблемы после решения, предоставленного codegeek:
<link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='styles/mainpage.css') }}">
?В Google Chrome нажатие кнопки перезагрузки (F5) не перезагружает статические файлы. Если вы следовали принятому решению, но по-прежнему не видите изменений, внесенных в CSS, нажмите
ctrl + shift + R
чтобы игнорировать кешированные файлы и перезагрузить статические файлы.В Firefox нажатие кнопки перезагрузки появляется для перезагрузки статических файлов.
В Edge нажатие кнопки обновления не перезагружает статический файл. Нажатие
ctrl + shift + R
должно игнорировать кешированные файлы и перезагружать статические файлы. Однако на моем компьютере это не работает.источник
Я сейчас использую версию 1.0.2 Flask. Вышеупомянутые файловые структуры не работали для меня, но я нашел одну, которая работает, а именно:
(Обратите внимание, что «статические» и «шаблоны» - это папки, которые должны называться одинаково.)
Чтобы проверить, какую версию фляги вы используете, вы должны открыть Python в терминале и соответственно ввести следующее:
источник
Структура проекта Flask отличается. Как вы упомянули в вопросе, структура проекта такая же, но единственная проблема заключается в папке стилей. Папка стилей должна входить в статическую папку.
источник
Еще один момент, который стоит добавить в эту тему.
Если вы добавите подчеркивание в имя файла .css, это не сработает.
источник
Еще один момент, который следует добавить. Наряду с вышеупомянутыми ответами, убедитесь, что в
app.py
файл добавлена строка ниже :В противном случае flask не сможет обнаружить статическую папку.
источник
Если какой-либо из вышеперечисленных методов не работает, а ваш код идеален, попробуйте обновить его, нажав Ctrl + F5. Это очистит все следы, а затем перезагрузит файл. У меня это сработало.
источник
Я почти уверен, что он похож на шаблон Laravel, так я и сделал свой.
Ссылка: проблема пути к файлу CSS
Простое приложение-фляга, которое считывает свое содержимое из файла .html. Внешняя таблица стилей блокируется?
источник