我正在使用whitenoise和服务员来提供我的静态文件,但我无法使用版本化的静态文件。例如,如果我有一个foo.js,在运行collectstatic之后,whitenoise会在我的静态文件夹中创建以下文件:
foo.js
foo.js.gz
foo.10a400e06df8.js
foo.10a400e06df8.js.gz where 10a400e06df8 is the unique version code that whitenoise generated for me.
这是我的wsgi.py文件:
from django.core.wsgi import get_wsgi_application
# This is the default application
application = get_wsgi_application()
def white():
# This is an alternative WSGI app that wraps static content
from whitenoise.django import DjangoWhiteNoise
white = get_wsgi_application()
white = DjangoWhiteNoise(white)
return white
以下是我在模板中包含foo.js的方法:
{% load static from staticfiles %}
...
<script src="{% static "foo.js" %}" type="text/javascript"></script>
我按照以下方式运行我的女服务员服务器:
waitress-serve --port = 8080 --call myapp.wsgi:white
当我加载页面时,我希望我会在浏览器中看到这个
<script src="/static/foo.10a400e06df8.js" type="text/javascript"></script>
但我仍然看到
<script src="/static/foo.js" type="text/javascript"></script>
我错过了什么吗?在我的设置中,我确实有 STATICFILES_STORAGE ='whitenoise.django.GzipManifestStaticFilesStorage'
非常感谢任何帮助或建议!
答案 0 :(得分:2)
DEBUG
是否设为True
? staticfiles应用程序仅在禁用调试模式时生成版本化URL。