Opened 5 years ago
Last modified 5 years ago
#31000 closed Bug
Match @import rule and url() statement exclude of the css comment /* */ in the css file source code, during the run collectstatic command — at Initial Version
Reported by: | Tomáš Zigo | Owned by: | nobody |
---|---|---|---|
Component: | contrib.staticfiles | Version: | dev |
Severity: | Normal | Keywords: | staticfiles, collectstatic |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
I use some extrenal js lib assets in the my django project (automatically installed by the bower js package manager).
Some css source code has url()
statement inside the comment /* */
with wrong relatative path to img/font.
During running command python manage.py collectstatic
I get error message.
Traceback (most recent call last): File "manage.py", line 26, in <module> execute_from_command_line(sys.argv) File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/core/management/__init__.py", line 381, in execute_from_command_line utility.execute() File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/core/management/__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/core/management/base.py", line 323, in run_from_argv self.execute(*args, **cmd_options) File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/core/management/base.py", line 364, in execute output = self.handle(*args, **options) File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 188, in handle collected = self.collect() File "/home/test/.local/share/virtualenvs/klub-v-nnivlwsY/lib/python3.6/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 134, in collect raise processed whitenoise.storage.MissingFileError: The file 'colorPicker/_blank.gif' could not be found with <whitenoise.storage.CompressedManifestStaticFilesStorage object at 0x7fe6c456c8d0>. The CSS file 'colorPicker/index.css' references a file which could not be found: colorPicker/_blank.gif Please check the URL references in this CSS file, particularly any relative paths which might be pointing to the wrong location.
url('_blank.gif')
statement is inside comment in the css source code.
Problem is that @import
rule and url()
statement are checked in all css file source code content, include code between css comment /* */
.
( regex pattern for the match rule/statement django.contrib.staticfiles.storage.HashedFilesMixin.patterns
)
I write patch which match this rule and statement only outside of the css comment in css file source code.