【问题标题】:Django UncompressableFileErrorDjango UncompressableFileError
【发布时间】:2015-04-30 16:59:12
【问题描述】:

我正在使用 Amazon S3 存储桶来存储我的静态文件。 我在 Django 中有压缩器应用程序来压缩所有静态文件。 Django 给我错误:

'home_page/css/bootstrap.min.css' 无法通过 COMPRESS_URL ('https://alphagravel.s3.amazonaws.com/static/') 访问并且无法压缩

你也可以在这里查看:http://52.5.32.9/

但是:URL - 'https://alphagravel.s3.amazonaws.com/static/home_page/css/bootstrap.min.css' 是可访问的

这是我的 setting.py 快照 """

INSTALLED_APPS = (
    ...
    'storages',
    'compressor',
    '...
)
AWS_ACCESS_KEY_ID = '****'
AWS_SECRET_ACCESS_KEY = '***********'
AWS_QUERYSTRING_AUTH = False

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'

AWS_STORAGE_BUCKET_NAME = 'alphagravel'
AWS_PRELOAD_METADATA = True

STATIC_URL = 'https://alphagravel.s3.amazonaws.com/static/'
ADMIN_MEDIA_PREFIX = 'https://s3-us-west-2.amazonaws.com/alphagravel/admin/'

COMPRESS_ROOT = STATIC_URL
COMPRESS_URL = STATIC_URL
COMPRESS_STORAGE = STATICFILES_STORAGE
COMPRESS_ENABLED = True
COMPRESS_OFFLINE_MANIFEST = "manifest.json" # Is created in CACHE directory
COMPRESS_PARSER = 'compressor.parser.HtmlParser'
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'compressor.finders.CompressorFinder',
)

谁能告诉我为什么压缩器 URL 无法找到用于压缩的静态文件。 以及如何解决错误。

另外,在命令行上:在执行命令时python manage.py compress --force 我收到以下错误:

CommandError: 渲染 /var/www/alphagravel/dashboard/templates/header.html 时出错:在 COMPRESS_ROOT '/var/www/alphagravel/https 中找不到'css/bootstrap.min.css' :/alphagravel.s3.amazonaws.com/static' 或使用静态文件。

【问题讨论】:

  • 您的 ALLOWED_HOSTS 设置是什么?

标签: python django amazon-s3 django-compressor


【解决方案1】:

我遇到了同样的问题,而且错误相当愚蠢——静态文件是通过https 访问的,但压缩文件是通过http 访问的。

您已使用https 将 COMPRESS_URL 设置为 STATIC_URL,但实际的文件路径是相对的,所以我猜如果您的网站也通过 http 访问,它会通过 http 访问?

PS- 你似乎已经解决了这个问题。是这个吗?

【讨论】:

  • 不,问题还没有解决,我使用的是 Amazon S3 存储桶,它只能通过 HTTPS 访问。
【解决方案2】:

问题“UncompressableFileError”的另一种变体:

Error: 
'js/jquery-3.3.1.min.js ' could not be found in the COMPRESS_ROOT '/home/project/app/static' or with staticfiles.

回答: 问题是您的 href 末尾有一个空格,介于 %} 和 "。
The original answer.

【讨论】:

    猜你喜欢
    • 2011-12-06
    • 2017-07-29
    • 2017-04-11
    • 2016-05-26
    • 2016-04-13
    • 1970-01-01
    • 2013-07-12
    • 2012-01-15
    • 2015-08-07
    相关资源
    最近更新 更多