6

我正在尝试安装 jquery-ui-dist 包,当我运行 collectstatic 时,当 url 在样式表的引号内时,whitenoise 似乎有问题。

我得到的错误是:

MissingFileError: The file 'jquery-ui-dist/"images/ui-icons_555555_256x240.png"' could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage object at 0x7fb16b7000b8>.

The CSS file 'jquery-ui-dist/jquery-ui.css' references a file which could not be found:
  jquery-ui-dist/"images/ui-icons_555555_256x240.png"

Please check the URL references in this CSS file, particularly any
relative paths which might be pointing to the wrong location.

我看到它似乎认为它正在寻找一个错误的文件名,因为它保留了引号,我认为原因是因为源文件有url("images/ui-icons_555555_256x240.png")引号是不必要的,所以我sed -i 's/\"images\/ui-icons_555555_256x240.png\"/images\/ui-icons_555555_256x240.png/g' jquery-ui.css在源文件上运行,它删除了引号,但我仍然得到错误。

我假设 whitenoise 或 jquery-ui-dist 包存在问题,但在问题最终解决之前,我至少需要一个临时解决方案,我什至不确定实际问题出在哪里.

编辑:

我发现导致问题的是css文件中的注释。我不知道为什么 whitenoise 会解析评论,除了手动删除这些评论外,我也不知道我能做些什么。

4

3 回答 3

8

由于没有其他人有这方面的信息,我决定我会回答我自己的问题,以防人们遇到这个问题并且不阅读我的编辑。

如果您编辑源文件以删除注释,它将解决问题。这样做的问题是,每次更新源文件时,它都会覆盖已编辑的文件,并且您将再次被卡在删除评论中。

老实说,我最近还没有检查过这个问题,到这个回复时它是否仍然是一个问题,但我认为它仍然是。

于 2018-01-30T14:02:46.810 回答
1

我只是尝试删除所有 jquery css 文件中的所有第一个注释块,并且效果很好。谢谢。

于 2020-02-25T22:06:43.197 回答
0

我也遇到过这个问题。
我认为,这个问题似乎在 django 社区中也没有得到解决。
请看以下文章。

虽然我对这个解决方案不满意,但最终我将静态jquery-ui.min.css文件放在我的存储库中,而不是通过 npm 安装它。
我删除了导致此问题的行(whitenoise.storage.MissingFileError: The file 'jquery-ui-dist/"images/ui-icons_555555_256x240.png"' could not be found ...),如下所示。

https://github.com/django-helpdesk/django-helpdesk/issues/479
https://github.com/gwasser/django-helpdesk/commit/fb6e8b0566f4ab51e1bbf512b8724feab8ee3530

他们删除了jquery-ui.min.css.
然后我可以在heroku上使用jquery-ui。
它会工作,但我真的很想通过 npm 安装它。

于 2021-05-29T14:39:23.243 回答