Почему Uvicorn не получает изменения в файлах CSS?

Я использую FastAPI и сервер Uvicorn для создания веб-сайта, но когда я вношу изменения в файлы CSS и перезагружаю веб-страницу, эти изменения не учитываются.

На самом деле, даже когда я выключаю сервер и перезагружаю его, Uvicorn все равно не улавливает изменения в файле CSS.

Раньше сервер нормально воспринимал изменения, что послужило причиной изменения?

Кажется, это на самом деле проблема с кнопкой обновления в браузере, который я использую!

Connor 01.10.2022 12:18

shift+reload обычно заставляет браузер пропускать локальный кеш и перезагружаться с сервера

MatsLindh 02.10.2022 14:29
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
CSS: FlexBox
CSS: FlexBox
Ранее разработчики использовали макеты с помощью Position и Float. После появления flexbox сценарий полностью изменился.
0
2
241
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема не в Uvicorn, а в том, что ваш веб-браузер хранит «статические» файлы в своем кеше.

FastAPI использует метод , который определяет каталог как «статическую папку». Это сообщает серверу, что файлы в этом каталоге должны оставаться постоянными и их не нужно загружать каждый раз при загрузке веб-страницы.

Загляните в основной модуль вашего приложения и найдите следующий фрагмент кода:

app.mount(
    "/your_static_file_web_path",
    StaticFiles(directory = "your_static_directory"),
    name = "your_name_for_static_app"
)

Эта функция создает второе приложение FastAPI в уже существующем, которое обрабатывает все ваши статические файлы. Второй аргумент определяет ваш статический каталог файлов. Все, что находится в этом каталоге, в конечном итоге будет кэшировано вашим веб-браузером, и дальнейшие изменения не будут загружены. Это предотвращает загрузку вашей страницы обновленного CSS.

Как отмечалось в комментарии выше, если вы хотите обойти эту проблему, вы можете удерживать Shift и перезагружать веб-страницу — это известно как жесткое обновление. Жесткое обновление заставит ваш браузер повторно загрузить все, включая статические файлы.

Другие вопросы по теме