Как подключить JS-скрипт из HTML в Django статического - PullRequest
0 голосов
/ 10 ноября 2018

У меня есть новый проект Django с внешним интерфейсом, изначально написанный совсем не для Django, поэтому я не могу подключить этот скрипт:

<script>
    document.body.appendChild(document.createElement('script')).
    src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script> 

Файл js/main_script.js находится в статической папке, остальные скрипты js загружаются в соответствии с назначением. И, как я понимаю, этот скрипт по какой-то причине предотвращает кеширование.

Итак, что я упускаю в этой части? Заранее спасибо за любые разъяснения

1 Ответ

0 голосов
/ 10 ноября 2018

Вы должны удалить эти +Math.floor(Math.random()*99999999999999999999) детали и использовать правильное решение для контроля кэширования статических файлов

https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage

UPD в ответ на комментарии ниже

Предположим, у нас есть

STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'

Затем, когда мы используем статический шаблон тега Django преобразует
из

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

в

<script src="/chick-static/js/main_script.js"></script>

Также Django будет искать файл в каталоге /var/web/chick_static/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...