collectstatic在S3中错误地创建了多个CSS文件

时间:2018-09-13 08:40:47

标签: django amazon-s3 boto3 wagtail django-storage

我已经将文件上传到S3,并且可以使用Wagtail / django应用程序正常工作(静态和上传)。现在,我尝试使用ManifestStaticFilesStorage启用缓存清除。该应用程序正确生成了这些url,并将带有哈希值的文件复制到S3。

但是,每次我运行collectstatic时,都会将某些文件复制两次到S3中-每个都有不同的哈希值。到目前为止,所有CSS文件都存在该问题。

file.a.css由应用程序加载,并且是staticfiles.json中引用的文件-但是,它是S3中的20.0B文件(应为6.3KB)。

file.b.css在S3中具有正确的内容-但是它不会出现在collectstatic生成的输出中。

# custom_storages.py
from django.conf import settings
from django.contrib.staticfiles.storage import ManifestFilesMixin
from storages.backends.s3boto import S3BotoStorage


class CachedS3Storage(ManifestFilesMixin, S3BotoStorage):
    pass


class StaticStorage(CachedS3Storage):
    location = settings.STATICFILES_LOCATION


class MediaStorage(S3BotoStorage):
    location = settings.MEDIAFILES_LOCATION
    file_overwrite = False

Deps:

"boto==2.47.0",
"boto3==1.4.4",
"django-storages==1.5.2"
"Django==2.0.8"

任何在哪里寻找该问题的指针将不胜感激! :)

编辑:

更仔细地查看复制到S3的所有文件,仅CSS文件才出现此问题。

禁用将资产推送到S3并将其写入本地文件系统的操作符合预期。

编辑2:

将所有部门更新到最新版本-与上述行为相同。

0 个答案:

没有答案