2014-09-28 1 views
0

저는 Apache 위에 장고 응용 프로그램을 제공하고 있으며, 최근 배포 한 후에 많은 사용자가 기본 HTML 파일의 새 버전을 제공 받고 있음을 확인했지만 여전히 캐시에서 이전 JS 파일을 가져옵니다.정적 파일에 캐시하지 않기를 강요합니다.

patch_cache_control(response, no_cache=True, no_store=True, must_revalidate=True)과 같은 내용을 시도했지만 정적 파일에는 적합하지 않습니다.

페이지에 액세스 할 때 항상 모든 정적을 강제로 서버에서 다시 가져 오는 방법이 있습니까?

+0

Google :'E-Tag', 'Last-Modified-Since'. Apache는 정적 파일을 제공 할 때 이러한 헤더를 추가 할 수 있어야합니다. 이 헤더를 기반으로 브라우저가 정적 파일을 캐시에서 가져올 것인지 결정합니다. 플러스 : 성능을 높이려면 Django가 아닌 정적 파일을 직접 제공하십시오. 이 작업은 웹 서버에서만 처리해야합니다. – Bjorn

답변

0

헤더로 많은 작업을 수행 할 수 있습니다.

또는 {% static 'js/jquery.js' %}?v={{ settings.CURRENT_VERSION }}과 같은 것을 사용할 수 있습니다. 그러면 파일 이름이 jquery.js?v=1 일 수 있으므로 브라우저에서 완전히 새로운 파일을 사용한다고 생각할 수 있습니다. 나는 이것을 권장하지는 않겠지 만, 정말 빠른 해킹이다.

관련 문제