我正在Divio Cloud中运行一个网站。我的测试服务器可以很好地处理静态文件,但我的实时服务器可以提供404。当我在实时服务器上将DEBUG切换为True时,它开始可以很好地处理静态文件。
实时服务器启动时,它在日志中具有以下内容:
[uwsgi-static] added mapping for /static/ => /app/static_collected
不是应该正确处理静态文件吗?
-编辑- 更多信息。我实际上没有任何“普通”静态文件。我使用{%static%}添加了一个静态文件,并且可以正常工作!无效的文件是使用django-sass-processor和django-compressor收集的。我在settings.py中:
STATICFILES_FINDERS.extend([
'compressor.finders.CompressorFinder',
])
这不仅会影响文件的收集时间吗?
答案 0 :(得分:1)
我认为问题很可能是因为您使用的是Django Compressor。使用Django Compressor的方式有多种。
在其文档中,请参阅Offline Compression。这就是在Divio Cloud上运行它所需要的。
答案 1 :(得分:0)
供以后参考:
在Divio环境中,要使基于压缩器的处理器(在本例中为django-sass-processor)正常工作,请在Dockerfile的末尾添加以下内容:
RUN DJANGO_MODE=build python manage.py compilescss
# <STATIC>
RUN DJANGO_MODE=build python manage.py collectstatic --noinput
# </STATIC>
# Remove the css files in development environments (in Live they
# are already collected)
RUN DJANGO_MODE=build python manage.py compilescss --delete-files