Jquery не работает с Whitenoise при добавлении сжатия и поддержки кэширования - PullRequest
0 голосов
/ 04 сентября 2018

У меня есть приложение, которое прекрасно работает со статическими файлами и 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.

Есть идеи, в чем проблема?

...