Jquery не работает с Whitenoise при добавлении сжатия и поддержки кэширования
У меня есть приложение, которое отлично работает со статическими файлами и JQuery, когда просто с помощью WhiteNoise.
Тем не менее, я пытаюсь добавить поддержку сжатия и кэширования и сталкиваюсь с некоторыми проблемами.
Как объяснено в их документации, я добавил:
#settings.py
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
Тогда я бегу python manage.py collectstatic
, который создает много сжатых GZIP-файлов.
Наконец, когда я отправляю его в Heroku, некоторый код Javascript больше не работает, и консоль показывает несколько ошибок, подобных этой:
Uncaught
ReferenceError: $ is not defined
А также этот:
Uncaught
ReferenceError: jQuery is not defined
Эти ошибки случаются только тогда, когда я нажимаю на Heroku, в моей локальной среде с python manage.py runserver
все по прежнему работает просто отлично.
Я попробовал то, что предлагает старая документация:
Поиск проблемы
Если у вас возникают проблемы с хранилищем данных WhiteNoise, скорее всего, они связаны с базовым механизмом хранения Django. Это связано с тем, что WhiteNoise добавляет лишь тонкую оболочку вокруг хранилища Django для добавления поддержки gzip, а также потому, что код gzip очень прост, он обычно не вызывает проблем.
Чтобы проверить, связаны ли проблемы с WhiteNoise или нет, попробуйте заменить серверную часть хранилища WhiteNoise на Django. Если вы используете Django 1.7 или выше, попробуйте:
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'
и ошибка все еще там, поэтому в соответствии с этим, ошибка в Django.
Есть идеи, в чем проблема?