我完全按照documentation的要求安装了django-static-precompiler
来编译我的scss
文件,并且运行良好...直到我从DEBUG
设置True
到False
。从那一刻起,就无法再找到静态文件了:
File "/usr/local/lib/python3.6/site-packages/django/contrib/staticfiles/storage.py", line 422, in stored_name
raise ValueError("Missing staticfiles manifest entry for '%s'" % clean_name)
ValueError: Missing staticfiles manifest entry for 'COMPILED/css/porcupine.css'
在我的html文件中,按如下所示编译和加载.scss:
<link rel="stylesheet" href="{% static "css/porcupine.scss"|compile %}"/>
确实正在创建此文件,但仅当文件系统未拾取Debug=False
时才出现。出乎意料的是,该文件正好位于应有的位置,可以在浏览器中检查编译的文件:
http://localhost:8000/static/COMPILED/css/porcupine.css
所以问题是:怎么回事?如何使Django在生产模式下(DEBUG = False)查找已编译文件?
我很乐意应要求提供更多设置,但是Django在不同文件中的许多设置中有些令人费解,我想使这篇文章保持简单。