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