django压缩机&x2B;较少压缩文件,但链接到原始文件

django压缩机&x2B;较少压缩文件,但链接到原始文件,django,less,django-compressor,Django,Less,Django Compressor,我有一个django 1.4.2应用程序,使用django compressor 1.2压缩更少的文件 我在app/static/css/home.less中有我的less文件。 它在static/CACHE/css/5208013a00a2.css下输出较少的文件 在本地运行(Debug=True,文件由django提供)时,我得到了正确的响应。我的html(模板)文件中的以下输出: 部署是通过fabric进行的,它在虚拟环境下创建应用程序。我相信 ('text/less','lessc{in

我有一个django 1.4.2应用程序,使用django compressor 1.2压缩更少的文件

我在app/static/css/home.less中有我的less文件。 它在static/CACHE/css/5208013a00a2.css下输出较少的文件

在本地运行(Debug=True,文件由django提供)时,我得到了正确的响应。我的html(模板)文件中的以下输出:

部署是通过fabric进行的,它在虚拟环境下创建应用程序。

我相信

('text/less','lessc{infle}{outfile}'),

应该是

('text/less','lessc{infle}>{outfile}'),


由于没有重定向,lessc将编译为stdout。

这可能适用于也可能不适用于原始海报,但我遇到了完全相同的错误(.less文件被链接而不是被生成的CSS替换),这是因为我最近将Django设置为以普通用户而不是root用户的身份运行,因此没有权限写入它作为根目录创建的缓存文件夹
chown-R myuser:mygroup static/cache
解决了这个问题。

我遇到了一个类似的问题,我的设置与您的设置几乎相同(使用apache,debug=False等),但还没有解决它。我发现,如果我手动运行compress(python manage.py compress),它将解决问题,但只会暂时解决问题。6-12小时后,问题将再次出现

我正在压缩的.css/.js文件中没有任何动态内容-我使用django compressor作为预编译我的LESC和coffeescript的一种方法

我希望您在去年秋天遇到这个问题时找到了一个解决方法——对于其他有相同问题的人,请尝试手动运行compress。我不知道为什么这会有帮助,因为文件已经存在于缓存中,但出于某种原因它确实存在(暂时)。我将在解决问题时更新

编辑:问题在过去12天内没有再次出现。我仍然有点粗略地了解到有一个问题,我不理解解决方案,但现在它起作用了,所以我专注于其他事情。如果你有这样一个问题,请张贴或评论

如果存在此问题,建议执行以下步骤:

  • 验证文件是否在缓存目录中生成
  • 查看文件的所有权和缓存目录,并在必要时对其进行更改
  • 查看缓存中文件的时间戳,验证它们是否合理
  • 运行collectstatic并手动压缩,然后重新启动服务器(如果您使用的是python runserver或sudo服务,则kill&restart) apache2重启,或其他同等产品)

  • 我能想到两件事:您的
    lessc
    编译器在服务器上可用吗?第二,你们的生产和开发环境之间有差异吗?你们部分是对的。lessc不可用。通过:sudo-apt-get-install-npm安装;sudo npm安装较少-g。但是,这仍然没有帮助。设置之间的区别是debug true和debug false。一个为静态文件服务,另一个为静态文件服务,需要配置isn'TaCache。Django不会使用
    DEBUG=False
    执行此操作,因为内置服务器对静态文件的性能不是很好。@MichaelMior这与此无关。与其他js一样,css文件也得到了完美的服务。它正在与mod_wsgi合作。@GalBracha啊,好吧。别提我的评论:)
    <link rel="stylesheet" href="/static/CACHE/css/5208013a00a2.css" type="text/css">
    
    <link type="text/less" rel="stylesheet" href="/adduplicator/static/css/home.less" charset="utf-8">
    
    COMPRESS_PRECOMPILERS = (
        ('text/coffeescript', 'coffee --compile --stdio'),
        ('text/less', 'lessc {infile} {outfile}'),
    )
    
    STATICFILES_FINDERS = (
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
        'compressor.finders.CompressorFinder',
    )