Django:我怎么能在开发模式下gzip静态文件?

Car*_*ten 7 django gzip django-staticfiles

我的django.contrib.staticfiles设置似乎没问题,因为所有静态文件都按预期提供.但是,例如.虽然我打开了GZipMiddleware,但是/static/*.css文件没有被gzip压缩.

仅供参考.我的观点html实际上确实被gzip压缩,只有staticfiles应用程序提供的文件不.似乎这些反应不通过中间件链?

Car*_*ten 6

诀窍是让开发服务器运行'--nostatic'标志设置:./manage.py runserver --nostatic.

然后可以使用url模式来提供静态文件,如下所示:

if settings.DEBUG:
    static_pattern = r'^%s(?P<path>.*)$' % (settings.STATIC_URL[1:],)
    urlpatterns += patterns('django.contrib.staticfiles.views',
        url(static_pattern, 'serve', {'show_indexes': True}),
    )
Run Code Online (Sandbox Code Playgroud)

当没有--nostatic运行时,django将自动在STATIC_URL下提供服务,而无需通过中间件链.

感谢Dave的指点!