django压缩机路径问题

时间:2015-12-03 19:30:18

标签: django webfaction django-compressor

所有

我正在使用django-compressor,它适用于我的开发环境(纯Django),但不适用于我的生产环境(Apache下的Django,由WebFaction托管)。以下是相关细节:

settings.py:

STATIC_ROOT = "/path/to/my/static/files/"
STATIC_URL = '/static/'
COMPRESS_ENABLED = True
COMPRESS_OFFLINE = True
COMPRESS_ROOT = STATIC_ROOT + "my_app_name/"
COMPRESS_PRECOMPILERS = (
    ('text/less', 'lessc {infile} {outfile}'),
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
)

some_template.html:

{% load staticfiles %}
{% load compress %}
<html>
  <head>
    {% compress css %}
      <link rel="stylesheet" type="text/less" media="all" href="{% static 'my_app/less/my_app.less' %}" />
    {% endcompress %}
  </head>
  <body>
    <div class="my_class">hello world</div>
  </body>
</html>

我运行python manage.py compress && python manage.py collectstatic以确保&#34; my_app.less&#34;上面的文件被正确编译,压缩和复制。

正如我所说,在我的开发环境中,这很好用。服务器调用&#34; // localhost:8000 / static / CACHE / css / 1d4e9429eac4.css&#34;并在&#34; /path/to/my/static/files/my_app_name/CACHE/css/1d4e9429eac4.css"中返回文件。

但在制作中,同一个网址&#34; // my.domain.com/static/CACHE/css/1d4e9429eac4.css"返回404 Not Found错误。该文件存在于本地的&#34; /path/to/my/static/files/my_app_name/CACHE/css/1d4e9429eac4.css"。

我注意到,如果我手动转到&#34; // my.domain.com/static/my_app_name/CACHE/css/1d4e9429eac4.css" (注意添加&#34; my_app_name&#34;)然后找到文件。

我的问题是,为什么它在两台服务器上的表现不同?哪种行为正确?我怎样才能确保压缩在两种情况下均有效?

感谢。

0 个答案:

没有答案