在生产中提供django压缩文件

时间:2012-11-19 13:38:51

标签: python django django-compressor

在生产中部署Django解决方案时,我遇到了压缩和编译静态文件的问题。我让Django在Nginx反向代理下运行,该代理也负责提供静态文件。

找不到某些文件(特别是js和css文件),我注意到这是因为settings.py中的以下设置启用了压缩。

COMPRESS_ENABLED = True
COMPRESS_PRECOMPILERS = (

    ('text/coffeescript', 'coffee --compile --stdio'), 
    ('text/less', 'lessc {infile} {outfile}'),
)
COMPRESS_JS_FILTERS = [
    'compressor.filters.jsmin.JSMinFilter'
]

INSTALLED_APPS = (
    # [..]
    'compressor',
    # [..]
)

那么,为了在生产中部署它们,冻结预编译和压缩的最正确方法是什么?感谢

2 个答案:

答案 0 :(得分:0)

除上述评论外,或许值得一看这个

https://github.com/jezdez/django_compressor

希望这有帮助。

答案 1 :(得分:0)

我猜你在部署之前正在寻找一种在dev机器上压缩文件的方法:

./manage.py compress --force

您还应该在设置中设置COMPRESS_OFFLINE:

COMPRESS_OFFLINE = True
if 'compress' in sys.argv:
    # compressor related settings when called as management command
    TEMPLATE_DEBUG = False
    COMPRESS_ENABLED = True