添加压缩和缓存支持时,jQuery无法与Whitenoise配合使用

时间:2018-09-04 11:06:53

标签: jquery django heroku whitenoise

我有一个仅使用WhiteNoise就能很好地处理静态文件和jQuery的应用程序。

但是,我试图添加压缩和缓存支持,但遇到了一些问题。

正如他们的documentation中所述,我添加了:

#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

仅当我在本地环境中使用python manage.py runserver推送到Heroku时,才会发生这些错误。

我尝试了legacy documentation的建议:

  

问题排查

     

如果您在使用WhiteNoise存储时遇到问题   后端,可能是由于底层Django存储   发动机。这是因为WhiteNoise仅在周围添加了一个薄包装纸   Django的存储区以添加gzip支持,并且因为gzip代码是   非常简单,通常不会引起问题。

     

要测试问题是否归因于WhiteNoise,请尝试   将WhiteNoise存储后端交换为Django。如果你是   运行Django 1.7或更高版本,请尝试:

STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.ManifestStaticFilesStorage'

并且错误仍然存​​在,因此据此,错误在Django中。

有什么问题的想法吗?

0 个答案:

没有答案