Về cơ bản, hàm băm trên tệp bộ nhớ cache không được cập nhật.Django pipeline Cache Busting không cập nhật tệp đệm/băm
class S3PipelineStorage(PipelineMixin, CachedFilesMixin, S3BotoStorage):
pass
PIPELINE_JS = {
'main.js': {
'output_filename': 'js/main.min.js',
'source_filenames': [
'js/external/underscore.js',
'js/external/backbone-1.0.0.js',
'js/external/bootstrap-2.2.0.min.js',
]
}
}
Khi tôi lần đầu tiên chạy lệnh collectstatic
, nó đúng cách tạo ra một bộ nhớ cache file có tên "main.min.d25bdd71759d.js
Bây giờ khi tôi chạy lệnh busting, tuy nhiên, nó là không ghi đè lên tập tin lưu trữ (và cập nhật băm) trong giai đoạn xử lý bài đăng
Nó tiếp tục cập nhật "main.min.js
", chẳng hạn như main.min.js
là hệ thống tệp hiện tại của tôi. tệp đã thay đổi.
Khi tôi tự xóa các tập tin lưu trữ trên AWS, tôi nhận được thông báo sau từ chạy collectstatic
với tính cách rườm rà thiết lập để 3:
Post-processed 'js/main.min.js' as 'js/main.min.d25bdd71759d.js
settings.DEBUG
được thiết lập để False
Tại sao sẽ không băm cập nhật?
Xin vui lòng, chương trình cài đặt liên quan: PIPELINE_ENABLED, STATICFILES_STORAGE, STATICFILES_FINDERS – krasnoperov
Bạn có thể chắc chắn rằng main.min.js là khác nhau từ trước đó? Hàm băm sẽ không thay đổi nếu không có bất kỳ thay đổi nào trong tệp. Có vẻ như bạn chỉ bao gồm các thư viện trong main.js, mà bạn không nên chỉnh sửa, vì vậy đó là lý do tại sao tôi yêu cầu. –
Bạn đã đề cập đến bạn lưu trữ AWS của người dùng (tôi giả sử boto). Bạn có thể kiểm tra xem vấn đề vẫn còn tái tạo nếu bạn đường dẫn tĩnh đến thư mục cục bộ (không phải AWS). Tôi cho rằng đó có lẽ là vấn đề boto nhất. –