[Django] collectstatic

symbbad·2023년 11월 28일

django

목록 보기
2/3

STATICFILES_FINDERS 사용:

  • STATICFILES_FINDERS 설정은 Django에게 정적 파일을 찾을 때 어떤 방법을 사용할지를 알려줍니다. 기본적으로 AppDirectoriesFinder와 FileSystemFinder가 사용됩니다.
  • AppDirectoriesFinder는 각 Django 앱의 static 디렉토리에서 정적 파일을 찾습니다.
  • FileSystemFinder는 각 앱의 루트 디렉토리에서 정적 파일을 찾습니다.

STATICFILES_DIRS 설정 확인:

  • STATICFILES_DIRS 설정은 추가적인 정적 파일 디렉토리를 지정합니다. collectstatic 명령을 실행할 때, 이 디렉토리에 있는 파일들도 복사됩니다.

파일 복사:

  • 정적 파일을 찾은 후에는 STATIC_ROOT로 지정된 디렉토리로 파일을 복사합니다. 이 디렉토리는 collectstatic 명령을 통해 생성되며, 정적 파일을 모두 모아둔 최종 위치입니다.

파일 충돌 해결:

  • 만약 동일한 이름의 파일이 여러 앱이나 디렉토리에서 발견되면, collectstatic은 충돌을 방지하기 위해 파일을 복사할 때 경로를 수정합니다. 기본적으로는 덮어쓰기 방식을 사용하며, --clear 옵션을 사용하여 기존 파일을 지울 수 있습니다.

데이터 압축 및 최적화:

  • 설정에 따라 collectstatic은 CSS나 JavaScript 파일을 압축하고 최적화하는 도구를 사용할 수 있습니다. 예를 들어, django-compressor와 같은 앱을 사용하여 이 작업을 수행할 수 있습니다.

캐싱:

  • collectstatic은 실행 시점에서 정적 파일을 변경 여부를 확인하여 필요한 경우에만 파일을 복사합니다. 변경 여부는 파일의 수정 시간 등을 기준으로 판단됩니다
profile
꾸준히

0개의 댓글