Статические файлы Django не обновляются

В моем проекте Django приложение my_app имеет шаблон, который ссылается на статический файл javascript:

<script src="{% static 'my_app/my_script.js' %}"></script>

После того, как я установил my_script.js в my_app/templates/my_app, казалось, все работает. В какой-то момент я переписал my_script.js другим сценарием, так что теперь my_script.js имеет другое содержимое.

Однако, когда я загружаю my_app с моего браузера, он загружает старый my_script.js, хотя он больше не существует. Как я могу решить это? Благодарю.

3 ответа

Я часто использую ?v=00001 или любое другое число, чтобы принудительно очистить кеш в браузере. Так что в вашем случае это может быть:

<script src="{% static 'my_app/my_script.js?v=00001' %}"></script>

Или же:

<script src="{% static 'my_app/my_script.js' %}?v=00001"></script>

В следующий раз, когда вы измените скрипт, увеличьте число до 00002. Конечно, есть много способов сделать это, но я все еще предпочитаю этот метод.

Вы можете добавить очистку кеша? Get= параметр. Мне нравится определять тег шаблона {% statichash %}, который читает файл и добавляет хэш содержимого файла в качестве параметра get. Это похоже на использование измененного времени файла вместо хеша, но та же идея:

https://bitbucket.org/ad3w/django-sstatic/src/4401a4bc3058618dfc2eafaee6a23d287a99ede5/sstatic/templatetags/sstatic.py?at=default

Я исправил это, добавив код для обновления браузера. Таким образом, он всегда будет получать последние обновленные статические файлы вместо чтения из своего кэша.

Есть 3 способа сделать это.

  1. Обновите страницу вручную

Используя ОС Windows с браузерами Google Chrome или IE9, нажмите (CTRL + F5)

  1. Обновляйте страницу через определенные промежутки времени (в этом примере браузер обновляется каждые 3 секунды)<head>

    <meta http-equiv="refresh" content="3" >

    </head>

  2. Обновить страницу, когда пользователь нажимает кнопку

    <form>

    <INPUT TYPE="button" onClick="history.go(0)" VALUE="Refresh">

    </form>

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