在给出错误的设置中,Django-Compress with debug = false

Par*_*ngh 2 python django django-templates django-compressor

我在django面临一个奇怪的问题.我正在使用django-compress app.直到调试才是真的一切都好.当我执行debug = False时,我遇到内部服务器错误问题,如果是404,页面没有js和css,如果没有404.最糟糕的部分是,在控制台上我得到以下错误

UncompressableFileError:'css/default.css'不能通过COMPRESS_URL('/ static /')访问,也无法压缩[16/Jul/2012 17:17:05]"GET /static/img/favicon.ico HTTP/1.1"500 59

像这样它显示每个GET请求500,可通过/ static /访问

所以现在没有获得js和css的理由很清楚.但是在404页面上出错的原因尚不清楚.

即使我尝试禁用和启用django-compress,但启用甚至普通页面时显示404错误

请告诉我导致所有/静态/事物500错误的原因以及为什么404页面会导致内部服务器错误.

Sim*_*ser 6

DEBUG = TrueDjango提供静态文件时.这意味着它可以在/static/每个Django应用程序的目录中找到静态文件.反过来,这意味着django-compressor可以找到它需要压缩的每个静态文件.

DEBUG = FalseDjango不再提供静态文件但它们应该由Web服务器提供服务.它通过提供目录中的所有静态文件STATIC_ROOT(通常/static/)来完成此操作.这意味着需要将Django应用程序中的所有静态文件放在那里.

这可以通过collectstatic命令完成(请参阅Django文档中的staticfiles应用程序).在运行该命令后,应该找到所有静态文件,STATIC_ROOT并且django-compressor应该能够再次找到这些文件.这解决了使用静态文件获得的404错误,当django-compressor工作时,您将不再获得500错误.


Jos*_*iño 5

对于Django> = 1.5,如果您遇到此问题,请确保正确设置您的ALLOWED_HOSTS设置.没有这个设置将使Django Compressor陷入困境UncompressableFileError.

我知道我们是在2014年,这个问题有点陈旧;)但我今天陷入了这个问题,我的具体案例的解决方案是那个,并没有解释.

希望它可以帮助别人.