当Django-Compressor实际存在时,它无法找到文件

时间:2012-10-08 02:40:58

标签: python django google-app-engine django-compressor

我刚刚将django-compressor安装到我的项目中,我收到以下错误消息。

  

在/ Caught UncompressableFileError处的TemplateSyntaxError   渲染:'js / jquery-1.7.2.min.js'找不到   COMPRESS_ROOT'/ Users / taelimoh / Dropbox / gluwa-git / static'或者   staticfiles。

当我尝试压缩css文件时也会发生这种情况。

当然,文件在那里,当我不尝试使用django-compressor压缩它们时它工作正常。

下面是我的模板

...
    {% compress js %}
        <!--Javascripts-->
        <!--Libraries-->
        <script type="text/javascript" src="/static/js/jquery-1.7.2.min.js"></script>
    {% endcompress %}
...

这是我的settings.py

COMPRESS_ENABLED = True

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'django.contrib.admindocs',
    'django.contrib.humanize',
    ##############################################
    'appconf',# required by django-compressor
    'versiontools',# required by django-compressor
    'compressor',#https://github.com/jezdez/django_compressor
    ...
)

我正在使用谷歌应用引擎,我的django版本是1.3。 该问题是在我的开发服务器上生成的。

2 个答案:

答案 0 :(得分:2)

这可能有点晚了,但是文档指出应用程序无法读取app.yaml中使用静态处理程序配置的任何文件。值得庆幸的是,还有一个开关可以让您的应用程序读取这些文件。你可以阅读它here。从本质上讲,你想要做到这一点

handlers:
- url: /static
- static_dir: staticfiles
- application_readable: true

app.yaml中(请注意application_readable)。我挣扎了一段时间,因为os.path.exists总是失败。希望这会有所帮助。

答案 1 :(得分:0)

GAE应用对文件没有写入权限。如果Django压缩器试图将压缩文件写入文件系统,那将会失败。