S3 (S3BotoStorage)가있는 정적 파일에 django-storage를 사용하고 있습니다. 내 로컬 컴퓨터에서 collectstatic을 수행하면 예상대로 동작하지만 수정 된 파일 만 S3에 푸시됩니다. 이 프로세스는 수정 된 시간을 확인하기 위해 python-dateutils 1.5가 필요합니다.Heroku의 Django collectstatic가 매번 S3에 푸시됩니다.
그러나 Heroku에서 동일한 작업을 수행하면 설정이 동일하더라도 관계없이 모든 파일이 푸시됩니다. 그런 다음 Heroku 자체에있는 파일의 수정 된 시간을 조사한 결과, os.stat (static_filename) .st_mtime은 마지막으로 푸시 한 시간과 같습니다.
이 예상되는 동작입니까? heroku는 git에서 변경이 없더라도 파일을 복사합니까?
또 다른 방법은 최종 수정 대신 저장소 백엔드 확인 해시를 사용하는 것입니다. S3에는 파일의 md5 인 etag가 있지만 문서화되어 있지 않다고 생각합니다. –